chore(ci): add zizmor workflow for github actions security analysis#633
Conversation
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
Greptile SummaryThis PR adds a
Confidence Score: 5/5Safe to merge — all permission changes are correctly scoped per-job with no required scopes dropped, and the new zizmor workflow is well-structured. The docs deploy job retains pages:write and id-token:write at the job level, so GitHub Pages deployment is unaffected. The gh CLI commands in publish-cli.yml use the GITHUB_TOKEN environment variable rather than the git credential helper, so persist-credentials:false does not break any release upload or edit steps. The ${GITHUB_REF_NAME} shell-env substitution is a valid default env var in GitHub Actions runners. .github/workflows/release-plz.yml — the persist-credentials:false interaction with release-plz's git operations was flagged in a previous review and should be confirmed resolved before merging. Important Files Changed
Reviews (6): Last reviewed commit: "fix(ci): quote "${GITHUB_REF_NAME}" in g..." | Re-trigger Greptile |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #633 +/- ##
=======================================
Coverage 78.94% 78.94%
=======================================
Files 49 49
Lines 7284 7284
Branches 7284 7284
=======================================
Hits 5750 5750
Misses 1147 1147
Partials 387 387 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
…ions)
- Add persist-credentials: false to all actions/checkout uses
- Move workflow-level permissions to job level with workflow-level
permissions: {} default
| fetch-depth: 0 | ||
| submodules: recursive | ||
| token: ${{ secrets.MY_RELEASE_PLEASE_TOKEN }} | ||
| persist-credentials: false |
There was a problem hiding this comment.
persist-credentials: false breaks git push in release workflow
High Severity
Adding persist-credentials: false to the checkout step removes the git credentials that the tasks/release-plz script relies on for git push --tags and git push origin release --force. The token parameter (MY_RELEASE_PLEASE_TOKEN) was specifically passed to the checkout action to persist auth for these downstream git operations. With persist-credentials: false, those push commands will fail with authentication errors, breaking the entire release automation.
Reviewed by Cursor Bugbot for commit 7485f8e. Configure here.
| token: ${{ secrets.MY_RELEASE_PLEASE_TOKEN }} | ||
| persist-credentials: false |
There was a problem hiding this comment.
persist-credentials: false may break git push in release-plz
actions/checkout is given token: ${{ secrets.MY_RELEASE_PLEASE_TOKEN }} to fetch, but persist-credentials: false prevents that token from being stored in the git credential helper. If the release-plz CLI relies on the system git credential helper (rather than injecting the token directly into remote URLs via its own git2 call), any git push it performs will fail with an auth error. Verify that release-plz does not depend on the credential helper before landing this change.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b7e029d. Configure here.


Adds zizmor to audit GitHub Actions workflows for security issues. Runs on push to main and on PRs that change
.github/workflows/**. Fails CI on any finding.🤖 Generated with Claude Code
Note
Medium Risk
Moderate risk because it changes GitHub Actions permissions and checkout credential behavior across multiple pipelines, which could break CI/release publishing if any job needs additional scopes or relies on persisted credentials.
Overview
Adds a new
zizmorworkflow that runs onmainpushes and on PRs touching.github/workflows/**, failing CI on workflow security findings.Hardens existing workflows (
test,coverage,docs,publish-cli) by setting workflow-levelpermissions: {}and scoping job permissions explicitly, disablingactions/checkoutcredential persistence, and adjusting release steps (useGITHUB_REF_NAME, disablemise-actioncache) to reduce token exposure and improve reproducibility.Reviewed by Cursor Bugbot for commit 087e8dd. Bugbot is set up for automated code reviews on this repo. Configure here.