Skip to content

Commit 0b31914

Browse files
hyperpolymathclaude
andcommitted
harden(ci): concurrency-cancel + scope Agda push to integration branches
Cut self-inflicted load on the shared estate Actions concurrency pool (the cause of repo-wide queued/no-progress stalls — public repo, free unlimited minutes, so the constraint is concurrent-job slots, not spend): - agda.yml: add concurrency{cancel-in-progress}; restrict push trigger from "**" (every branch) to [main, master]. PRs still run the full suite via pull_request, so zero proof coverage is lost; this removes the full-build-on-every-WIP-push storm and the push+PR double-fire. - governance.yml, scorecard.yml: add concurrency{cancel-in-progress} (both read-only; safe to cancel superseded runs). - hypatia-scan.yml already guarded; mirror.yml left (main-only, publishing — unsafe to mid-cancel). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 25986ae commit 0b31914

3 files changed

Lines changed: 29 additions & 2 deletions

File tree

.github/workflows/agda.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,24 @@
44
name: Agda
55

66
on:
7+
# Direct pushes only on the integration branches. Feature-branch
8+
# validation is fully covered by the pull_request trigger below —
9+
# gating WIP pushes to no-PR branches with a full multi-minute Agda
10+
# build was the dominant self-inflicted load on the shared estate
11+
# Actions concurrency pool, and also double-fired (push + PR) on PR
12+
# branches. No proof coverage is lost: PRs and post-merge main still
13+
# run the full suite.
714
push:
8-
branches:
9-
- "**"
15+
branches: [main, master]
1016
pull_request:
1117

18+
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
19+
# updates don't pile up queued full-suite builds. Safe here — this
20+
# workflow only typechecks (read-only, no publish or mutation).
21+
concurrency:
22+
group: ${{ github.workflow }}-${{ github.ref }}
23+
cancel-in-progress: true
24+
1225
permissions: read-all
1326

1427
jobs:

.github/workflows/governance.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ on:
1818
pull_request:
1919
workflow_dispatch:
2020

21+
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
22+
# updates don't pile up queued runs. Safe — governance is read-only
23+
# policy linting with no publish or mutation.
24+
concurrency:
25+
group: ${{ github.workflow }}-${{ github.ref }}
26+
cancel-in-progress: true
27+
2128
permissions:
2229
contents: read
2330

.github/workflows/scorecard.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ on:
77
- cron: '0 4 * * *'
88
workflow_dispatch:
99

10+
# Estate guardrail: cancel superseded runs so re-pushes don't pile up
11+
# queued analyses. Safe — Scorecard is read-only supply-chain analysis
12+
# with no publish or mutation (SARIF upload is idempotent).
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
1017
permissions:
1118
contents: read
1219

0 commit comments

Comments
 (0)