Conversation
Replace tag refs with exact commit SHAs (via actions-up) for actions/checkout, docker/setup-qemu-action, docker/setup-buildx-action, docker/login-action, docker/metadata-action, and docker/build-push-action, each annotated with a version comment. Assisted-by: Claude (Anthropic)
Fix zizmor pedantic findings:
- set persist-credentials: false on the reusable workflow checkout step
(artipacked); it never pushes to the git repo, only to container registries
- add an explicit permissions: {} at workflow level in every workflow, so
jobs must opt into the permissions they actually use
- document the contents/packages job permissions inline (undocumented-permissions)
- replace secrets: inherit with an explicit secrets map in each caller
workflow, limited to the four registry credentials the reusable workflow
declares (secrets-inherit)
- name the previously anonymous docker and prepare jobs (anonymous-definition)
- add .github/zizmor.yml to document and scope the one accepted finding:
workflow_run in analysisbase-dask-uc.yml, which is restricted to branches:
[main] and cannot be forged by a fork pull_request
Assisted-by: Claude (Anthropic)
Add .github/dependabot.yml with a monthly grouped update schedule and a 7-day cooldown for the github-actions ecosystem, so pinned action SHAs get kept current automatically. No pre-commit config exists in this repo, so no pre-commit ecosystem entry is needed. Assisted-by: Claude (Anthropic)
kratsg
marked this pull request as ready for review
August 13, 2026 18:33
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.
Summary
CI-security hardening only; no source, Dockerfile, or image-build logic changed.
actions-up), each with a version comment:actions/checkout,docker/setup-qemu-action,docker/setup-buildx-action,docker/login-action,docker/metadata-action,docker/build-push-actionpersist-credentials: falseon the reusable workflow's checkout step (zizmorartipacked) — it only pushes container images, never git refs.permissions: {}at the top of every workflow, so each job opts into only the permissions it needs, and document thecontents/packagesjob permissions inline (zizmorexcessive-permissions,undocumented-permissions).secrets: inheritwith an explicit secrets map in each caller workflow, scoped to the four registry credentials the reusable workflow actually declares (zizmorsecrets-inherit).dockerandpreparejobs (zizmoranonymous-definition)..github/dependabot.ymlfor thegithub-actionsecosystem: monthly grouped updates, 7-day cooldown.Major version changes
actions-upbumped every pinned action by at least one major version (all were already on outdated majors):actions/checkoutv4.2.2 → v7.0.1docker/setup-qemu-actionv3.6.0 → v4.2.0docker/setup-buildx-actionv3.10.0 → v4.2.0docker/login-actionv3.4.0 → v4.6.0docker/metadata-actionv5.7.0 → v6.2.0docker/build-push-actionv6.15.0 → v7.3.0These are build/push-only actions with no functional CLI usage that changed in this workflow (no changed inputs used here), so no held-back items were needed.
Held-back items
None. Nothing broke, and no repo-specific code needed to move to a different version.
zizmor ignores
dangerous-triggersfor.github/workflows/analysisbase-dask-uc.yml(.github/zizmor.yml): this workflow'sworkflow_runtrigger is scoped tobranches: [main]and only reacts to completed runs of "Build analysis-dask-base". A fork pull_request cannot forge aworkflow_runevent that reports having run onmain, and the upstream workflow never pushes on non-push events, so the cascading base→derived image rebuild is not exploitable the way zizmor's general heuristic assumes. This is documented with a comment in.github/zizmor.yml.Verification
uvx zizmor --persona=pedantic .github→ no findings (1 documented ignore).pre-commit-config.yamlexists in this repo, soprekwas not applicablepyproject.toml/pixi.tomlexists, so nouv/pixicooldown was addedgrep -rn "uses:" .github/workflows/shows every external action pinned to a 40-char SHA; the only non-SHAuses:lines are local./.github/workflows/_build-and-push.ymlreferences🤖 Generated with Claude Code