Continuous Integration
We use Continuous Integration1 for any code that we release. However, we do not follow a strict trunk-based development workflow; rather, we use small, short-lived feature branches to ensure we are never straying far from the workflow branch - see Development Process for specifics.
Branches must be verified by an automated build prior to code review and merge. This is tightly integrated into source control using GitHub Actions.
CI should trigger automatically on Pull Requests to the main branch, and must run the same automated build as workflow branches.
If the project is open-sourced and the repository is public, the build should also be public.