Skip to content

ci: add zizmor workflow audit - #6

Open
oc-tmueller wants to merge 3 commits into
owncloud:mainfrom
oc-tmueller:ci/zizmor
Open

oc-tmueller wants to merge 3 commits into
owncloud:mainfrom
oc-tmueller:ci/zizmor

Conversation

@oc-tmueller

Copy link
Copy Markdown

Adds a zizmor audit of this repository's GitHub Actions workflows and Dependabot config, through the reusable owncloud/reusable-workflows/.github/workflows/zizmor.yml (owncloud/reusable-workflows#104). It's part of an org-wide rollout. Once the repo PRs have landed, Zizmor / Zizmor becomes a required check through owncloud/admin.

  • Behaviour: any finding, at any severity, fails the check, with an annotation on the offending line. The check runs on every PR, on pushes to main and weekly, because online audits such as known-vulnerable actions can start failing without a code change.
  • Permissions: contents: read only, so it also works on fork PRs.
  • Config: owncloud/* references may stay on @main. Everything else must be SHA-pinned.

Existing findings fixed (separate commits)

  • dependabot-cooldown: github-actions updates wait 7 days. This is the same change as chore(ci): set dependabot cooldown for github-actions #5, byte for byte, so the two merge cleanly in either order.
  • excessive-permissions: lint-pr-title declares least-privilege permissions (contents: read, pull-requests: read) instead of running with the repository default.

zizmor 1.31.1 reports no findings on this branch.

🤖 Generated with Claude Code

oc-tmueller and others added 3 commits October 26, 2026 14:33
Runs zizmor over this repository's workflows and Dependabot config on
every pull request, on pushes to the default branch and weekly, through
owncloud/reusable-workflows' zizmor.yml. Any finding fails the check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
- dependabot-cooldown: github-actions updates wait 7 days (the same
  change as owncloud#5).
- excessive-permissions: lint-pr-title declares least-privilege
  permissions (contents + pull-requests read) instead of running with
  the repository default.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
GitHub keeps one pending run per concurrency group whatever
cancel-in-progress says, so a queued push run can still be replaced by a
newer one; only the weekly run is fully protected by the per-event
group. Same wording as owncloud/reusable-workflows#105.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant