From af7a42a049e7265a871f6e9b01bf737b36e1daac Mon Sep 17 00:00:00 2001 From: Mollusk Date: Thu, 16 Jul 2026 23:46:56 -0400 Subject: [PATCH] ci: remove zombie workflows from the per-push pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .gitea/workflows/cargo-deny.yml | 34 ------------------------------ .gitea/workflows/ci.yml | 4 +++- .gitea/workflows/windows-build.yml | 26 +++++++++++++---------- 3 files changed, 18 insertions(+), 46 deletions(-) delete mode 100644 .gitea/workflows/cargo-deny.yml diff --git a/.gitea/workflows/cargo-deny.yml b/.gitea/workflows/cargo-deny.yml deleted file mode 100644 index bfefc94..0000000 --- a/.gitea/workflows/cargo-deny.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: cargo-deny - -# Enforce the supply-chain policy in deny.toml (advisories / bans / licenses / -# sources) on every push to main and every PR. Runs on a *locked* tree so the -# pinned, vetted versions in Cargo.lock are exactly what get audited — see the -# deny.toml header and VERSIONING.md. A new poisoned release of a dependency -# cannot reach CI until Cargo.lock is deliberately updated. - -on: - push: - branches: [main] - pull_request: - -jobs: - cargo-deny: - runs-on: ubuntu-latest - # rust:1 provides the cargo toolchain that cargo-deny shells out to for - # `cargo metadata`. Adjust the runner label if your act_runner uses a - # different one. - container: rust:1 - steps: - - uses: actions/checkout@v4 - - - name: Install cargo-deny (pinned prebuilt) - run: | - set -euo pipefail - version=0.19.9 - curl -sSfL \ - "https://github.com/EmbarkStudios/cargo-deny/releases/download/${version}/cargo-deny-${version}-x86_64-unknown-linux-musl.tar.gz" \ - | tar -xz -C /usr/local/bin --strip-components=1 --wildcards '*/cargo-deny' - cargo-deny --version - - - name: cargo deny check - run: cargo deny --locked check diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 02e17f7..2d4f276 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -36,7 +36,9 @@ jobs: run: cargo test --doc - name: cargo-deny (advisories, bans, licenses, sources) - run: cargo deny check + # --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 diff --git a/.gitea/workflows/windows-build.yml b/.gitea/workflows/windows-build.yml index 59dc481..558eafc 100644 --- a/.gitea/workflows/windows-build.yml +++ b/.gitea/workflows/windows-build.yml @@ -7,11 +7,20 @@ name: windows-build # alias) so a Unix-only assumption can't sneak back in and break Windows. # # RUNNER REQUIREMENT: this needs a Windows act_runner registered with the -# `windows-latest` label (the Linux `cargo-deny` job's container approach does -# NOT apply here — Windows jobs run on the host, not a Linux container). If your -# runner advertises a different label, change `runs-on` below. Until a Windows -# runner exists this workflow is simply skipped/queued, not a failure of the -# Linux CI. +# `windows-latest` label (a Linux-container approach does NOT apply here — +# Windows jobs run on the host, not a Linux container). If your runner +# advertises a different label, change `runs-on` below. +# +# MANUAL-ONLY until that runner exists: with push/PR triggers enabled, every +# push queued a run no runner could claim and Gitea auto-cancelled it ~24h +# later, littering the Actions page with cancelled runs. Restore the push/PR +# triggers when a Windows runner is registered: +# +# on: +# push: +# branches: [main, "windows-port-**"] +# pull_request: +# workflow_dispatch: # # BUILD-HOST REQUIREMENTS (validated by the opus spike, see # peerspeak-windows-opus-spike.md): @@ -23,12 +32,7 @@ name: windows-build # must provide both. on: - push: - # `main` plus the in-progress port branches, so the Windows path is exercised - # before merge rather than only after. - branches: [main, "windows-port-**"] - pull_request: - # Allow manual runs from the Gitea Actions UI. + # Manual runs from the Gitea Actions UI only — see the header comment. workflow_dispatch: permissions: