This repository collects definitions for continuous integration (CI) tasks/actions for the repositories of the seL4 foundation. While some of these might be useful more generally, most of them will be specific to the seL4 setup.
The idea is to concentrate most of the GitHub workflow definitions here in a single repository to avoid duplication, share code between actions, and to make it easier to replicate a similar CI setup on other platforms.
Shared JavaScript is in js/
, and shared shell scripts are in scripts/
This repository also defines a number of GitHub action workflows that can be
called from other repositories. These are all files in .github/workflows
that
define an on: workflow_call
trigger. In particular:
- pr.yml for standard pull requests checks (gitlint, whitespace, shell checks, style)
- push.yml for standard push checks (links, licenses)
- sel4test-sim.yml for running the seL4 simulation tests
- sel4test-hw.yml for running the seL4 hardware tests
- sel4bench-hw.yml for running the seL4 hardware benchmarks
The following GitHub actions are available:
- Style
- Gitlint
git diff --check
- License Check
- Link Check
- Portable Shell Script check
- Preprocess the seL4 source to check for changes to verified configurations.
- Run Proofs: check if the proofs still work after a code change.
- Kernel Compile: standalone seL4 kernel compilation for different compiler/arch/python combinations.
Contributions are welcome!
See open issues for things than need work, there is also a list of good first issues if you are new to all this and want to get involved.
See the file CONTRIBUTING.md for more information.
See the directory LICENSES/ for a list of the licenses used in this repository, and the SPDX tag in file headers for the license of each file.