-
-
Notifications
You must be signed in to change notification settings - Fork 0
fix(ci): pin third-party actions to full commit SHAs #82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: hyperpolymath/idrisiser
Length of output: 22333
🤖 get_repo_knowledge executed:
get_repo_knowledge hyperpolymath/idrisiser /tmp/coderabbit-repo-knowledge/hyperpolymath-idrisiser-9f5d402d/conventionsLength of output: 1572
🏁 Script executed:
Repository: hyperpolymath/idrisiser
Length of output: 17183
🏁 Script executed:
Repository: hyperpolymath/idrisiser
Length of output: 15939
🏁 Script executed:
Repository: hyperpolymath/idrisiser
Length of output: 481
🌐 Web query:
official gh actions-lock lockfile documentation stale action reference dependency mismatch enforcement💡 Result:
<search_synthesis>
The GitHub Actions dependency lockfile system is a security and stability feature designed to pin workflow dependencies to verified commit SHAs [1][2]. The system centers on the.github/workflows/actions.lock file, which acts as the authoritative record of the resolved transitive dependency graph for a repository&
#39;s workflows [1][3]. Key components and enforcement mechanisms include: 1. Lockfile Management: The gh actions-lock CLI extension is the primary tool for generating, maintaining, and verifying these lockfiles [2][4]. It scans workflows, pins actions to exact commits, and ensures the lockfile remains synchronized with the workflow definitions [2]. 2. Enforcement and Mismatches: When a repository is onboarded to the lockfile system, GitHub enforces that all workflow dependencies are present in the lockfile [2]. If a workflow references an action version that is not pinned in the lockfile, or if there is a mismatch between the workflow's referenced ref and the lockfile's recorded commit, the workflow run will fail [2][5][6]. This enforcement occurs before any job starts, often resulting in a startup failure [5][6]. 3. Handling Stale References: If workflow references are updated (e.g., bumping an action version) without re-running gh actions-lock, the lockfile becomes stale [5]. Because the lockfile no longer matches the workflow's requirements, the system rejects the workflow [5]. To resolve this, developers must run gh actions-lock to regenerate the lockfile with the updated pins [2][5][6]. 4. Security Features: The system includes verification to prevent forgeries [2]. It ensures that the recorded SHA exists within the referenced branch or tag, and it blocks redirects or identity mismatches at runtime to mitigate risks such as impostor commit attacks [2]. The authoritative schema and parser for these lockfiles are maintained in the github/actions-lockfile repository, which provides the technical definition used by GitHub's tooling [1][3]. Development is ongoing, and the schema is currently evolving toward a stable v1.0.0 release [1].</search_synthesis>
<source_evidence>
Citations:
Regenerate the actions lockfile for the pinned commit.
.github/workflows/actions.lockrecordsv0.2.0, but the pinned commit isv0.3.0. Lockfile enforcement can reject this workflow before the job starts. This is a workflow availability and lockfile-drift issue, not a data-integrity issue.Run
gh actions-lockinstead of editing the generated file. Add# v0.3.0to this pin to match the repository’s existing SHA-pin comments, or use the commit recorded forv0.2.0.🤖 Prompt for AI Agents