...
GitHub Actions is the recommended CI platform, although we need to address the limits on number of runners, some ideas:
- BuildJet
- Use cancel-in-progress to suppress multiple jobs for multiple pushes to the same pull request
- Uncheck branch protection rule "Require branches to be up to date before merging" to reduce number of runs (potentially add a scheduled run if you are concerned about incompatible PRs getting merged)
- Use filters to eliminate unnecessary runs, e.g. doc PRs shouldn't require building and testing code.
- Consider running some on schedule (e.g. nightly) rather than on each pull request (e.g. various platform tests)
- Inspect Github Actions run results on your own fork prior to opening Pull Request
Pull request checks
Unit tests
Integration tests
- Scans - see Security section, consider running on schedule (e.g. nightly) rather than on each pull request
- Be wary - just because a change passes checks doesn't mean it is necessarily good, it still requires judicious maintainer review
Test coverage reporting - run on-demand or nightly
- Keep CI clean and green at all times, address failures and flakes
See proposed Automated Pipelines task force
...