ci: lean Actions per CI-CD-STANDARD §11 — unconditional cancel-in-progress, uv cache, drop redundant CodeQL push trigger#48
Merged
Conversation
…gress, uv cache, drop redundant CodeQL push trigger - ci.yml: cancel-in-progress unconditionally true (§11c) so superseded main-push runs stop spending minutes too; the newest push always carries its own full run. Explicit enable-cache: true on setup-uv (§11f) — release.yml keeps caching disabled per §8c. - codeql.yml: drop the push:main trigger (§11e); the pull_request-into-main run already analyzes the same merge result, and the weekly schedule keeps catching newly disclosed query patterns without a code change. No gate is weakened: all SHA pins, permissions blocks, and triggers other than the redundant CodeQL push remain; no paths-ignore added to any security-scanning workflow. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JEt7d9aeBFmPToT46Sciqw
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.
Applies CI-CD-STANDARD §11 (lean Actions) to the two workflows not yet fully aligned. Minutes are an active failure mode here — the account-wide Actions billing block means any wasted run can be the one that exhausts the quota and stops gating merges entirely — so superseded runs must cancel and redundant analyses must not re-run.
Changes
ci.ymlcancel-in-progresswas${{ github.event_name == 'pull_request' }}; now unconditionallytrue— superseded main-push runs cancel too (the newest push always carries its own full run, so no commit reaches main un-gated)ci.ymlenable-cache: trueonsetup-uv(documents the §11f intent; v8'sautodefault already enabled it on hosted runners — no behavior change).release.ymlkeeps all caching disabled per §8c, unchangedcodeql.ymlpush: maintrigger;pull_requestinto main + weeklyschedule+workflow_dispatchremain, so the scanner stays armed with automatic triggersAlready compliant (no change)
ubuntu-latest— no macos/windows anywhere (§11b).release.ymlcorrectly usescancel-in-progress: false(§8b) — untouched.push:is alreadybranches: [main]or tag-scoped (§11i); no advisory/continue-on-errorjobs exist (§11d).release.ymlexplicitly disables uv caching in all jobs (§8c) — untouched.Skipped (with reasons)
paths-ignoreonci.ymlverifyjob is a required check (rulesetprotect-main:verify,standards) and runs the security stage (gitleaks/pip-audit/osv) — scanners scan everything, so no docs-skip is permissiblepaths-ignoreonstandards.ymlstandards); docs changes are precisely what the freshness/policy gate should still see; job is seconds-cheapcache: piponzizmor.yml/standards.ymlsetup-python--no-cache-dir(single small package, PR-path-filtered runs only); standards.yml installs nothing via pip[python, actions]language matrix — not a version matrix; N/Acontainer-scan.yml/zizmor.ymlVerification (all local — GitHub Actions is billing-blocked account-wide, so no run will appear on this PR)
actionlintclean on both changed files (and the whole workflows dir was clean before and after).python3 -c 'import yaml; yaml.safe_load(...)'clean on both changed files.--repomode): 27/31 before → 27/31 after;actions_sha_pinned(37/37),workflow_permissions(7/7),security_scanners_armed,no_silenced_security_gateall PASS before and after. (The 4 pre-existing FAILs — ruff/mypy floors, README conformance table, i18n header — are unrelated and addressed by open PR chore(conformance): standards sweep 2026-07-16 — README conformance table + ruff/mypy floor bumps #47.)make verify(lint, mypy, 389 tests @ 97% cov, security, a11y, eval) passed locally via the repo's pre-push gate..github/workflows/ci.ymland.github/workflows/codeql.yml; no SHA pin, permissions block, or gate altered.🤖 Generated with Claude Code
https://claude.ai/code/session_01JEt7d9aeBFmPToT46Sciqw