Add zizmor and fix its findings - #183
Merged
Merged
Conversation
|
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. |
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. Actions are pinned to commit SHAs with the exact version in a trailing comment: checkout at v7.0.1, as shared-config pins it, and the rest at the release their floating tag runs today. Checkouts set persist-credentials: false. The @main calls into shared-config and the workflow_run CD trigger get the same documented zizmor ignores the other rubyatscale repos use. Dependabot entries get a 7-day cooldown, and a github-actions entry keeps the new pins current. The CD workflow passes the matrix platform and gem version to its scripts through env vars instead of expanding them inline. Its workflow_run trigger, the smoke test's gem install of the gem it just built, and gem push with an API key are marked as known; moving to trusted publishing needs a publisher configured on rubygems.org first.
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
Adds
.github/workflows/zizmor.yml, a caller ofrubyatscale/shared-config/.github/workflows/zizmor.yml@main(rubyatscale/shared-config#32), and fixes everything zizmor 1.30.1 reports in this repo so the new check starts clean. The same cleanup went into visualize_packs#113 and pks#55.advanced-security: true, so results go to the Security tab and findings don't fail the job. The caller grantscontents: readandsecurity-events: write.actions/checkoutv6 → v7.0.1 (6×)actions/download-artifactv4 → v4.3.0actions/upload-artifactv4 → v4.6.2oxidize-rb/actions/cross-gemv1 → v1.5.0oxidize-rb/actions/fetch-ci-datav1 → v1.5.0 (2×)oxidize-rb/actions/setup-ruby-and-rustv1 → v1.5.0 (3×)ruby/setup-rubyv1 → v1.327.0 (2×)slackapi/slack-github-actionv1.25.0 (2×)checkoutmoves to v7.0.1, the version shared-config pins. Unless noted below, the rest stay on the release their floating tag runs today.persist-credentials: falseon 6 checkouts, so the token isn't left in.git/config.unpinned-useson the@maincalls into shared-config, which exist so its fixes propagate.cooldownon every entry, plus agithub-actionsentry to keep the new pins current.matrix.ruby-platformand the gem version straight into shell. They now read them from env vars; the release step already hadGEM_VERSIONin its env.dangerous-triggers: CD checks out and publishes the default branch, never the triggering run's code or artifacts.adhoc-packages: the smoke test'sgem installinstalls the gem the job just built.use-trusted-publishing:gem pushstill usesRUBYGEMS_API_KEY. Follow-up: switching to trusted publishing needs a publisher configured forcode_ownershipon rubygems.org first. After that, this ignore can go.Test plan
zizmor / zizmorand the existing checks pass on this PR.