We use Github Actions for our CI jobs. Right now, we use a self-hosted runner running on an Intel NUC.
The runners all run in a custom container. See
details on the container, and instructions on how to build it. At the
moment, you need to manually deploy and restart containers when that file
Actions are automatically picked up from the YAML files in
There are four actions right now:
build.yml- Builds all of the software and runs unit tests
lint.yml- Runs the linting script to ensure there aren’t linting issues
asan.yml- Runs the address/leak sanitizer over all of our unit tests
tsan.yml- Runs the thread sanitizer over all of our unit tests
coverage.yml- Runs coverage over the full tree, uploading it as an artifact
web.yml- Runs build & unit tests for web tools (only active if you change a frontend)
See the official site for more detail.