Repository navigation
ci(hygiene): disable zizmor self-repository audit and pin zizmor - #1590
Conversation
zizmor 1.30.0 added the self-repository audit, which asks for GitHub's new `uses: $/...` syntax instead of `uses: ./...`. The hygiene job installed zizmor unpinned, so the new audit broke the nightly with 32 low findings. actionlint 1.7.12 (latest; also run by hygiene) rejects `$/...` references, so the workflows cannot adopt the new syntax yet. Disable the audit in a new .github/zizmor.yml, with a note to revisit once actionlint supports `$/` (rhysd/actionlint#711), and pin zizmor to 1.30.1 so future audits arrive through a deliberate bump. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 5 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe nightly hygiene job now installs zizmor version 1.30.1. A new zizmor configuration disables the ChangesNightly hygiene
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The nightly hygiene change is ready to merge after normal checks; no unresolved issue is identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
A rabbit checks the nightly run, Comment |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The reviewed CI changes address the hygiene failure and have been validated successfully.
Review effort: Lite
Findings: None
What changed in this PR
Stabilizes nightly hygiene checks by disabling an incompatible zizmor audit and pinning zizmor to v1.30.1.
Changes:
- Added
.github/zizmor.ymlwith rationale for disablingself-repository. - Pinned zizmor in the nightly workflow.
| File | Description |
|---|---|
.github/zizmor.yml |
Configures the temporary zizmor audit exclusion. |
.github/workflows/nightly-tests.yml |
Pins the zizmor installation version. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Approved: no findings at Nothing to do. Clobber: none: |
Summary
The nightly
hygienejob (.github/workflows/nightly-tests.yml) has failed every night since at least 2026-09-18 at thezizmor (workflow security)step. Latest failing run: https://github.com/gominimal/minimal/actions/runs/35825667564Root cause.
hygieneinstalled zizmor throughtaiki-e/install-actionwithtool: cargo-machete,zizmor, which always pulls the latest zizmor. zizmor 1.30.0 added a new audit,self-repository. It flags everyuses: ./...reference and asks for GitHub's newuses: $/...syntax. There are 32 such references across 9 workflows, sozizmor .github/workflows/exits 12 with 32 low findings.Why the workflows are not rewritten. GitHub released the
$/syntax on github.com (changelog, 2026-07-30; it requires runner >= 2.336.0). I tested zizmor's auto-fix (zizmor --fix=unsafe-only), which changed exactly the 32uses:lines. actionlint 1.7.12 then failed on all 32 of them:specifying action "$/.github/actions/..." in invalid format because ref is missingreusable workflow call "$/.github/workflows/..." is not following the format ...actionlint 1.7.12 is the latest release, and
$/support is still an open issue (rhysd/actionlint#711). Adopting the new syntax now would just move the failure from zizmor to actionlint.Fix.
.github/zizmor.ymlwithrules.self-repository.disable: true. A comment explains why and when to revisit: once an actionlint release accepts$/, drop the rule and runzizmor --fix=unsafe-only. zizmor finds the file automatically when its input is.github/workflows/.zizmor@1.30.1in the install step, so new audits arrive through a deliberate bump rather than an overnight break. The pinnedinstall-actioncommit's manifest includes 1.30.1. actionlint is already pinned to therhysd/actionlint:1.7.12image.Note: the nightly run still reports success even though
hygienefailed. That is tracked separately in gominimal/inbox#620.Testing
I ran the same commands as
hygieneon this branch with zizmor 1.30.1 and actionlint 1.7.12. Both are official release binaries (linux arm64); the actionlint checksum was verified. Docker is not available in the sandbox, so actionlint ran as the binary rather than the image.With the
$/rewrite applied instead,actionlintexited 1 with 32 errors (see above), so that approach was dropped.Checklist
.github/zizmor.yml)BREAKING CHANGE:footer present if this is a breaking change (n/a)🤖 Generated with Claude Code
Summary by CodeRabbit