cargo-deny.yml (runs-on: ubuntu-latest) and windows-build.yml (runs-on: windows-latest) target runner labels no registered runner advertises, so every push queued two runs Gitea auto-cancelled ~24h later — the Actions page has shown 2 cancelled runs per push since the runner went live. - cargo-deny.yml: deleted; redundant with ci.yml's deny step, which now runs `cargo deny --locked check` to preserve the locked-tree stance. - windows-build.yml: kept but workflow_dispatch-only until a Windows runner exists; restore instructions in the header comment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
name: CI
|
|
|
|
# Runs on the self-hosted host-mode runner on the desktop (label `arch`). The
|
|
# gitbutter VPS only queues the job; all compile/test compute happens locally.
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: arch
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Toolchain versions
|
|
run: |
|
|
rustc --version
|
|
cargo --version
|
|
cargo clippy --version
|
|
cargo deny --version
|
|
cargo audit --version
|
|
|
|
- name: Format check
|
|
run: cargo fmt --all -- --check
|
|
|
|
- name: Clippy (all targets, warnings as errors)
|
|
run: cargo clippy --all-targets -- -D warnings
|
|
|
|
- name: Tests
|
|
run: cargo test --all-targets
|
|
|
|
- name: Doc tests
|
|
run: cargo test --doc
|
|
|
|
- name: cargo-deny (advisories, bans, licenses, sources)
|
|
# --locked so the pinned, vetted versions in Cargo.lock are exactly
|
|
# what get audited (the lockfile-as-review-checkpoint model).
|
|
run: cargo deny --locked check
|
|
|
|
- name: cargo-audit
|
|
run: cargo audit
|