# The CI gate. Runs inside the prebuilt nix toolchain image (built + pushed by # build-ci-image.yaml), so the pinned 1.95.0 toolchain is already warm — steps # just enter the flake devShell and run cargo. # # Gate = clippy + test. fmt is deliberately NOT gated yet (ADR-0049: the tree # isn't clean under stock rustfmt; revisit on main). The release job (static # binary for D2) and the platform matrix layer on later, step by step. name: ci on: push: # Branch pushes only — a tag push hits the same commit the branch push # already gated, so `branches: ['**']` drops the redundant tag-triggered # run (the release workflow owns tags). Pushing commits + a tag together # still gates the commits via the branch push. branches: ['**'] pull_request: jobs: gate: runs-on: ci-public # Public package → anonymous pull, no credentials needed. container: image: git.lazyeval.net/oli/rdbms-playground-ci:latest steps: - uses: actions/checkout@v4 - name: clippy (warnings denied) run: nix develop -c cargo clippy --all-targets -- -D warnings - name: test run: nix develop -c cargo test --no-fail-fast