Files
invoiceninja-sdk/.github/workflows/ci.yml
T
awkawbandClaude Opus 5 aa802bc40c Add an advisory CI job on latest stable
Pinning CI meant a future Rust release could break the build without
anyone noticing until the pin moved. This job tracks latest stable and
runs the test suite and clippy, so that breakage is visible early.

Marked `continue-on-error`, so it reports rather than gates: a new
clippy lint landing in stable should not fail a pull request that did
not cause it. The pinned `test` job remains the gate.

Note that GitHub renders a `continue-on-error` job as passing with an
annotation rather than as failed. If it should be more visible, make it
a required check and drop the flag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-23 19:01:42 -04:00

53 lines
1.6 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Pinned, and kept in step with `devVersion` in flake.nix, so CI and
# the dev shell agree and a new stable release cannot turn a lint
# failure into an unrelated red build.
- uses: dtolnay/rust-toolchain@1.99.1
with:
components: rustfmt, clippy
- run: cargo build --all-targets
- run: cargo test
- run: cargo fmt --check
- run: cargo clippy --all-targets -- -D warnings
msrv:
name: Build on the declared MSRV
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Must match `rust-version` in Cargo.toml and `msrvVersion` in
# flake.nix. Builds only — lint and format output varies by release,
# and pinning those to the oldest supported toolchain is not useful.
- uses: dtolnay/rust-toolchain@1.88.0
- run: cargo test
stable:
name: Latest stable (advisory)
runs-on: ubuntu-latest
# Advisory only. The pinned `test` job is the gate; this one exists so
# that a new stable release breaking the build or firing a new clippy
# lint is visible before the pin moves, without failing a pull request
# that did not cause it. Check it when bumping `devVersion`.
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- run: cargo test
- run: cargo clippy --all-targets -- -D warnings