Skip to content

Add zizmor and fix its findings - #80

Merged
dduugg merged 1 commit into
mainfrom
add-zizmor
Sep 29, 2026
Merged

dduugg merged 1 commit into
mainfrom
add-zizmor

Conversation

@dduugg

@dduugg dduugg commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds .github/workflows/zizmor.yml, a caller of rubyatscale/shared-config/.github/workflows/zizmor.yml@main (rubyatscale/shared-config#32), and fixes everything zizmor 1.30.1 reports here so the new check starts clean. It's the same cleanup the other rubyatscale repos got this week.

  • zizmor mode: the default advanced-security: true, so results go to the Security tab. The caller grants contents: read and security-events: write.
  • build.yml:
    • actions/checkout v3 → v7.0.1 and ruby/setup-ruby v1 → v1.327.0, both pinned to commit SHAs.
    • persist-credentials: false on the checkout.
    • The gem install bundler step is gone (zizmor adhoc-packages). setup-ruby already installs the Bundler version from Gemfile.lock.
  • push_gem.yml:
    • step-security/harden-runner v2.11.0 → v2.21.1, since v2.11.0 has known vulnerabilities (zizmor known-vulnerable-actions).
    • The release job no longer restores the bundler cache, which other workflows can write (zizmor cache-poisoning). It runs bundle install instead.
    • persist-credentials: false on the checkout. The pinned rubygems/release-gem (v1.1.0) points the git remote at a token URL itself before rake release, so the tag push doesn't need the checkout's credential.
    • The release-gem pin keeps its SHA, but its comment said v1, which now points elsewhere. It now says v1.1.0 (zizmor ref-version-mismatch).
  • Dependabot: a 7-day cooldown on the bundler entry, plus a github-actions entry to keep the new pins current.

This touches build.yml, push_gem.yml and dependabot.yml, which #78 also changes, so whichever merges second will need a small rebase.

Test plan

  • zizmor 1.30.1 with online audits: 12 findings before, 0 after.
  • actionlint reports nothing new.
  • Fresh Eyes local review: no findings.
  • zizmor / zizmor and the existing checks pass on this PR.

Adds a zizmor workflow that calls rubyatscale/shared-config's reusable
zizmor.yml, and fixes what zizmor 1.30.1 reports here so it starts clean.

In build.yml, checkout moves to v7.0.1 and setup-ruby to v1.327.0, both
pinned to commit SHAs, and checkout sets persist-credentials: false. The
gem install bundler step goes: setup-ruby already installs the Bundler
version from Gemfile.lock.

In push_gem.yml, harden-runner moves from v2.11.0, which has known
vulnerabilities, to v2.21.1. The release job no longer restores the
bundler cache, which other workflows can write; it runs bundle install
instead. Its checkout sets persist-credentials: false, since release-gem
v1.1.0 points the remote at a token URL itself, and the release-gem
comment now names v1.1.0 instead of v1.

Dependabot's bundler entry gets a 7-day cooldown, and a github-actions
entry keeps the new pins current.
@dduugg
dduugg requested a review from a team as a code owner September 29, 2026 21:14
@github-advanced-security

Copy link
Copy Markdown

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:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@dduugg
dduugg merged commit 9f9fe6f into main Sep 29, 2026
15 checks passed
@dduugg
dduugg deleted the add-zizmor branch September 29, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants