ci: apply global GH Actions cost-mitigation policy#8
Merged
Conversation
Aligns the three workflow files with the global GH Actions cost policy
documented in dotfiles/CLAUDE.md.
ci.yml:
- normalize concurrency group to ${{ github.workflow }}-${{ github.ref }}
- add paths-ignore for docs/ and *.md on push + pull_request triggers
- add needs: [lint] to test-linux, test-macos, build-matrix,
amd-gpu-integration so a 10-second lint failure short-circuits the
rest (Rule 2)
- gate test-macos + build-matrix + amd-gpu-integration on dependabot
scope filter (Rule 6) — dependabot PRs skip the macos minutes unless
labelled dependabot-full-ci
- guard amd-gpu-integration against fork PRs (Rule 8) so external
contributor PRs cannot trigger the self-hosted runner
rebase-upstream.yml:
- add canonical concurrency block (Rule 1)
- add # why: comment to the Monday 08:00 UTC cron explaining the cadence
(Rule 5)
release.yml:
- add concurrency block with cancel-in-progress: false (Rule 1 exception
for artifact-publishing workflows) so a second tag push does not
cancel the first mid-keychain-setup or mid-notarize
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Aligns the three workflow files under
.github/workflows/with the global GitHub Actions cost-mitigation policy (dotfiles/CLAUDE.md<github_actions_policy>, eight rules).Audit checklist
ci.ymlci-${{ github.ref }}to${{ github.workflow }}-${{ github.ref }}(canonical form)needs:chainstest-linux,test-macos,build-matrix,amd-gpu-integrationall gainneeds: [lint]paths-ignore: [docs/**, **/*.md, LICENSE]on push + pull_requestlintjob already does gofmt + go vet sequentiallyschedule:triggertest-macos,build-matrix,amd-gpu-integrationskip on dependabot PRs unlessdependabot-full-cilabelled (saves the macos 10× cost multiplier on every cuda-bindings bump)amd-gpu-integrationis self-hosted withcontinue-on-error: true; intentionally left as PR-gated so HW regressions surface on the PR, not at merge-queue time. PerCLAUDE.mdabsolute rule #5 the[amd-gpu]runner IS the merge gate.amd-gpu-integrationnow checkspull_request.head.repo.full_name == github.repository— fork PRs cannot trigger the Mac Pro runnerrebase-upstream.ymlworkflow_dispatchruns no longer both burn macos-latest minutes# why:comment on the Monday 08:00 UTC cron explaining why weekly (daily would drown maintainer review)release.ymlcancel-in-progress: false— second tag push cannot cancel an in-flight notarize/publish runWhy no Rule 4 consolidation
This is a Go repo. The single
lintjob already runsgofmt -l+go vetas sequential steps in one runner. No 30-45 sec runner-startup multiplication to eliminate.Verification
python3 -c "import yaml; yaml.safe_load(...)"→ all three files parse cleanPart of the multi-repo migration to the global GH Actions cost policy.