lichen.page.review from the reviewed point 0b92cb61 to stack eb5a1653, as one PR per subsystem (review set)

product: 15 Build and CI config #62

targeting oct/14-frontends from oct/15-ci-config
Closed opened by and assigned to notplants-bot.bsky.social
targeting oct/14-frontends from oct/15-ci-config

superseded by the full set from 09-23, #17–#37

description: Review set for lichen.page.review, 0b92cb61 (reviewed) → eb5a1653 (stack). PR 15 of 16. 4 files, +55/−9. One commit, 90320e983d82, which sets these files to their content at eb5a1653. Targets #14 (oct/14-frontends). #16 stacks on this one. Tests and generated files are not in any PR; they are in main.

The test runners and CI workflow, not the product. Small: 4 files, +55/−9.

  • just quick (QUICK-TESTS): a fixed selection of about four minutes of tests, run with one cargo build on every PR. gate's groups now run once at the end of a phase, inside standard.
  • just diff and just custom (operator, 2026-10-23: targeted runs per sub-unit): the tests of exactly the files a diff touches, or exactly the tests named, after one build. diff is marked a trial.
  • just sandbox-docker (LICHEN-SANDBOX L1c): every lichen-sandbox test inside an unprivileged Docker container, and a server with site processes refusing to start where a profile takes Landlock or seccomp away.
  • The flat-file job also tests lichen-sandbox, including its refusal without Landlock as its own invocation; lib tests start site processes from the lichen this cargo build made (LICHEN_TEST_SITE_EXECUTABLE, SITE-FRONT-BOUNDARY 11e).
  • The CI suites run under tini as PID 1 in the e2e shell (.tangled/workflows/full.yml and standard.yml; flake.nix adds pkgs.tini on Linux), so the orphans a test's site processes leave are reaped.

info: Plans: QUICK-TESTS-2026-10-14.md; LICHEN-SANDBOX-AND-PERMISSIONS-2026-10-13.md (L1c); SITE-FRONT-BOUNDARY-2026-10-17.md (decision 6, unit 11e); the per-sub-unit testing rule in lichen-orchestrator's machine-docs/TESTING-STRATEGY.md.

Files

  • justfile — the recipes above. The scripts they call (e2e/ci/quick.py, quick-tests.txt, diff_tests.py, custom_tests.py, e2e/plain-docker/sandbox_crate.sh) are test harness, so they are in main.
  • .tangled/workflows/full.yml, .tangled/workflows/standard.yml — tini -s -g -- before the suite.
  • flake.nix — tini in the e2e shell.

Note: no CI runs on this review repository; it has no Spindle.

Lives elsewhere

  • clippy.toml's router rule: #2. The workspace Cargo.toml member: #1.
Commits 0