b60c0bb0ec
ci / gate (push) Successful in 3m0s
Add website/** and the website workflow to ci.yaml's paths-ignore, so a push confined to the website subproject (built + published by website.yaml) no longer runs clippy+test. A push that also touches crate code still gates (paths-ignore skips only when all files match).
46 lines
1.8 KiB
YAML
46 lines
1.8 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 = clippy + test. fmt is deliberately NOT gated yet (ADR-ci-002: 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: ['**']
|
|
# 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: clippy (warnings denied)
|
|
run: nix develop -c cargo clippy --all-targets -- -D warnings
|
|
- name: test
|
|
run: nix develop -c cargo test --no-fail-fast
|