-
Notifications
You must be signed in to change notification settings - Fork 4
GitHub Actions setup
Note: Workflows are currently having worked on may change at any point adding or removing some features.
This repository provides multiple ways of validating your contributions.
From simple compilation and unit-test checks done automatically for every commit, you can also "request" more advanced checks by using proper tags in your commit body. (If you are pushing multiple commits in one go, all tags will be joined.)
The current setup recognizes tags provided in square brackets. ([ and ])
Multiple tags can be provided, either by putting every tag into its own brackets, or separating them with a comma inside a single bracket.
- Example 1:
[tag1][tag2] - Example 2:
[tag1,tag2]
Currently there is no validation of the provided tags, but that will be added at some point. This will ensure, that you get the checks you requested or get a notification that something went wrong.
It's not allowed to use the [skip ci] tag on the master branch, as this branch should be always in a proper state.
It is allowed to skip validation on development branches.
The default validation will always run on every pushed commit, building the Debug and Develop configurations for both Windows and Linux. Both configurations are built at the same time, using the same repository.
If building finishes without errors unit tests will be run.
You can extend the default validation with the following tags:
-
[all_configs]- Builds all configurations for a given platform. -
[parallel]- Builds every configuration using its own job.
Using this tag will currently build the following configurations: Debug, Develop, Profile, Release
Some of those configurations might have reduced validation checks due to implementation details.
- For example Release builds cannot properly run unit tests for allocators due to implementation focusing solely on performance.
Every configuration will be executed on its own workflow job. This means that for every platform and config pair we are using a clean workspace.
This can come in handy when checking if the build process itself does not cause any side effects.
There are more tags planned to be supported soon, allowing for even better validation.