CI Reference

How this repo uses the library.

The repository acts as the reference integration: static contracts, reusable workflow linting, fixture validation, PR matrix comments, and runtime-backed capture on main.

Pipeline order

Execution order stays explicit.

  1. detect-changes
  2. lint with just lint and validate-callers
  3. build
  4. tests
  5. remote-action-integration on pushes to main
  6. docker
  7. pages
  8. runtime-contract-validation on pushes to main

Tests job

Fixture-driven validation and PR matrix output.

  • Runs just test.
  • Exercises action-level emit, capture, and validate smoke paths.
  • Validates passing and failing fixture payloads against the repo contract.
  • Builds a markdown matrix dashboard from the fixture report.

Runtime-backed validation

Validate the real CI run on main.

This is the bridge from modeled fixture tests to actual workflow-state validation.

What the job captures

detect-changes.result
lint.result
build.result
tests.result
docker.result
pages.result

detect-changes.outputs.run_ci
detect-changes.outputs.run_pages

What it produces

  • A normalized captured payload.
  • A JSON validation report.
  • A markdown dashboard.
  • A ci-runtime-contract artifact.

Rules

CI should call just.

This repo keeps the command surface centralized. Workflows should use repository recipes instead of open-coded cargo, gh, or mise command chains.

  • just lint for fmt, clippy, and reusable workflow caller validation.
  • just test for Rust tests.
  • just runtime-ci for runtime image verification.
  • just coverage-ci for lcov generation in CI.