Repository navigation
[LOW] Pin test workflow actions and restrict permissions - #228
Closed
OskarEichler wants to merge 1 commit into
Closed
OskarEichler wants to merge 1 commit into
OskarEichler wants to merge 1 commit into
Conversation
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
Pins both third-party actions used by the test workflow to immutable revisions and explicitly limits the workflow token to read-only repository contents.
Severity: LOW. Mutable action channels and repository-default token permissions let future upstream tag movement or configuration changes alter trusted CI behavior without a repository diff. This workflow handles no release credentials and now receives only the permission it needs.
Change
actions/checkout@v5→fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09ruby/setup-ruby@v1→95ef2b042f9d7a56d8268cba8559e2842e2ad01bcontents: readMajor-version comments remain beside the hashes for update tooling and reviewer context.
Verification
uses:entry is an immutable 40-character commit.git diff --checkpasses.actionlint, the historical Ruby matrix, JRuby/TruffleRuby, and publishing were not exercised locally.Compatibility and breaking changes
No runtime, dependency, or package behavior changes. Workflow action updates now require deliberate SHA changes.