-
Notifications
You must be signed in to change notification settings - Fork 12
Github Actions CI CD
To build, improve the code's quality, manage the generation of golden files and more (to come).
Currently, the main workflow (stored in .github/workflows/main-workflow.yaml
) is triggered by two types of event: pull_request
and push
on the master branch. The workflow is divided into five (5) jobs.
Triggered by: pull request (opened and synchronized) and push into master.
Description: Retrieve the version of the application stored into the pubspec.yaml
and validate if there is any tag with this version. If there is a tag existing with the same version, a comment will be posted on the pull request and the job will fail.
Triggered by: pull request (opened and synchronized) and push into master.
Description: This job will run flutter format
, flutter analyze
and flutter test --coverage
, if one of these steps fails the job will fail.
Special action: The CI can generate the golden files for you. In a pull request, add to the last commit [CI UPDATE GOLDENS]
, the CI will do the rest.
Triggered by: pull request (opened and synchronized) and push into master.
Description: Half of this job will be run during a pull request and the other half on a push to master. The pull request parts will comment the content of the LCOV file generated during the previous job (Tests and checks). In a push to master, the CI will create a gist with a JSON file used by shield.io to generate the code coverage percentage badge.
Triggered by: pull request (opened and synchronized) and push into master.
Description: TODO
Triggered by: push into master.
Description: TODO
This workflow (stored in .github/workflows/release-workflow.yaml
) will send the application for review at the Play Store and App Store. It's currently triggered only when a GitHub release (draft and prerelease are ignored) is published.
By default, the changelog used is stored in the folder fastlane/metadata
of each platform, but you can configure it using the pipeline! 😄
Like we said before, the deployment to the store is linked to the publication of a release, and so this is where you can customize the changelog for each language using this template:
## English version
Your English changelog here
## End english version
## French version
Your french changelog here
## End french version
And when the pipeline will run, it will pick the changelog for each language 🎉
Home | Installation | How To