CI matrix (lean vs fat)
Two build variants exist today:
- Lean (
feat/pylon-lean-arrow-endpointand everything downstream): numpy C exts commented out inSetup.local. Smallerpylon.wasm, Arrow-endpoint-shaped surface. Smokes must SKIP-if-missing numpy et al. - Fat (default profile pre-branch-cut): every cap linked. Smokes
run with
PYLON_REQUIRE_FAT=1; missing deps FAIL rather than SKIP.
The build job in .github/workflows/ci.yml runs both variants as a
matrix on every PR / manual dispatch. The switch is a single env var
— LEAN=1 tells scripts/wire-numpy.sh to skip numpy static wiring,
and PYLON_REQUIRE_FAT=1 on the fat variant promotes any
_HAVE_NUMPY skip in a smoke into a hard fail. Both variants keep
the private-repo gate from commit 5a073b22:
| Matrix entry | LEAN | PYLON_REQUIRE_FAT | Purpose |
|---|---|---|---|
| lean | 1 | — | Fast signal; numpy-transitive smokes SKIP |
| fat | 0 | 1 | Release-cut gate; SKIPs promote to FAILs |
Additional non-matrix jobs (smoke-audit, MP smokes) remain
single-variant.
Local reproduction
# Lean (default on this branch)
make smoke
# Fat — promotes SKIPs to FAILs
PYLON_REQUIRE_FAT=1 make smoke
# MicroPython
make smoke-micropython
The workflows under .github/workflows/ are currently paused (repo is
private; hosted-runner budget). Local reproduction under nektos/act:
make ci-install-act # one-time
make ci-local-checks # shellcheck + tsc + reference-worker
make ci-local-build # CPython wasip2 cross-build + smoke
make ci-local # everything matched by `push`