ec3c7c304c
ci / gate (push) Successful in 3m17s
Adds `cargo fmt --check` (stock defaults) to ci.yaml's gate, now that the
tree is rustfmt-clean (commit 41b7e9a). Records that reformat in
.git-blame-ignore-revs so `git blame` skips it. Amends ADR-ci-002 (the
deferred "revisit on main" fmt decision) + the ci ADR index.
Closes #35.
49 lines
1.9 KiB
YAML
49 lines
1.9 KiB
YAML
# 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 = fmt + clippy + test. The fmt gate (`cargo fmt --check`, stock defaults)
|
|
# was enabled once the tree was reformatted on main (ADR-ci-002 Amendment 1 /
|
|
# issue #35). 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: ['**']
|
|
# Skip the gate for changes that can't affect clippy/test — docs, markdown,
|
|
# and the website subproject (it has its own workflow, website.yaml, that
|
|
# builds + publishes it). A push touching crate code *and* these still runs
|
|
# (paths-ignore only skips when *all* changed files match).
|
|
# Note: flake/toolchain changes are NOT ignored — they can shift the
|
|
# toolchain and thus lint/test outcomes.
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- '**/*.md'
|
|
- 'website/**'
|
|
- '.gitea/workflows/website.yaml'
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- '**/*.md'
|
|
- 'website/**'
|
|
- '.gitea/workflows/website.yaml'
|
|
|
|
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: fmt (check, stock defaults)
|
|
run: nix develop -c cargo fmt --check
|
|
- 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
|