Github Actions is used for continuous integration of Fly-Pie. There are three workflow files used:
This executes several checks whenever a commit is pushed or a pull request is opened.
- Clang-Format Check:
We enforce specific code formatting rules described in the file
.clang-format
. For each and every push event, a job is executed which checks whether the code base obeys these rules. Commits passing this check will be marked with a ✔️, when the style does not match the rules, the commit will receive a ❌. - Comment Percentage Check:
For pull requests only, a job is run which analyses the amount of comments in the source tree.
The percentage of source lines of code containing comments is calculated with the script
cloc.sh
and compared with the amount of comments in the base branch. This test will pass if the amount of comments did not decrease. - ShellCheck: At each push event, all shell scripts are checked with ShellCheck.
- Run Tests: This checks whether the release archive can be created successfully. It also checks whether the resulting archive is not too large to be uploaded to extensions.gnome.org. Then, several containers are booted (using gnome-shell-pod) to test Fly-Pie on various GNOME Shell versions.
This runs make zip
whenever a tag is pushed.
The resulting [email protected]
is uploaded to an automatically created release.
This uses the Dynamic Badges Action to update the Comment-Percentage-Badge and Lines-of-Code-Badge of the README.md
automatically whenever a commit is pushed.