This page is for contributors. The Docker-backed make lanes use pinned images and avoid the host Python environment for routine checks.

Lane map

Lane Runs Writes
make checks checks service in compose/checks.yml; read-only checkout No project artifacts
make rust rust service in compose/test.yml; copied-context test image Container-local test output only
make test test service in compose/test.yml; installed package Container-local test output only
make parity parity service in compose/test.yml; pinned RDKit parity Container-local test output only
make exact-public-invariants exact-public-invariants service in compose/test.yml Container-local test output only
make package package service in compose/package.yml dist/
make perf perf service in compose/perf.yml Timing docs and timing history
make docs docs service in compose/docs.yml; GitHub Pages Jekyll image build/docs-site/
make docs-serve make docs, then docs-serve service in compose/docs.yml Rebuilds build/docs-site/; publishes a local HTTP port
make ci checks, rust, test, parity, and exact-public-invariants No package, performance, or docs artifacts

Details

make ci expands to:

make checks
make rust
make test
make parity
make exact-public-invariants

make package writes release artifacts under dist/. The Makefile refuses a symlinked dist/ and clears direct children before building.

make perf is opt-in and write-enabled for:

  • docs/timings.tsv
  • docs/timings.md
  • docs/timing-plots/
  • notes/004_perf_history.jsonl

make docs reads docs/ read-only and writes the local Pages build to build/docs-site/. build/ is ignored by git, so git status build reports a clean tree after a docs build. The checked-in documentation source remains under docs/.

make docs-serve first runs make docs, then serves build/docs-site/. The Compose file does not publish a host port by itself; the Makefile publishes 127.0.0.1:${DOCS_PORT}:8000 after validating DOCS_PORT. DOCS_PORT defaults to 8000 and must be a decimal port from 1 to 65535 without leading zeroes:

make docs-serve DOCS_PORT=8010

Routine check/test lanes do not use host .venv, target, dist, or build artifacts.

The stricter containerization contract is tracked in the implementation note.