The GitHub Actions workflow
(.github/workflows/ci.yml) is a thin
caller that invokes the reusable
nanvix/workflows/.github/workflows/nanvix-ci.yml
workflow, following the same pattern used by all usr/ packages.
- Get Nanvix Info — resolves sysroot metadata via
nanvix-zutil resolve. - Build (matrix) — runs
./z setup→./z build→./z test→./z releasefor each platform/process-mode combination. - Release — collects build artifacts, generates a lockfile, and creates
a GitHub release tagged
{version}-nanvix-{nanvix_version}. - Report Failure — opens a GitHub issue on scheduled-run failures.
The CI matrix tests every combination of platform and process mode:
| Platform | Process Mode | Status |
|---|---|---|
hyperlight |
multi-process |
Tested in CI |
hyperlight |
single-process |
Tested in CI |
microvm |
multi-process |
Tested in CI |
microvm |
single-process |
Tested in CI |
- Nightly — scheduled at UTC 00:00
- Push — to
mainandnanvix/**branches - Pull Request — targeting
mainandnanvix/**branches - Dispatch — manual trigger or
cpython-releaserepository dispatch
On failure, debug logs are uploaded as workflow artifacts and a GitHub issue is automatically created and assigned to the maintainers.