Skip to content

Lock GitHub Actions with actions.lock - #467

Draft
stefanvanburen wants to merge 1 commit into
mainfrom
svanburen/actions-lock
Draft

stefanvanburen wants to merge 1 commit into
mainfrom
svanburen/actions-lock

Conversation

@stefanvanburen

Copy link
Copy Markdown
Member

Trying out GitHub's workflow lockfiles (went GA a couple weeks ago), mostly after reading https://hugovk.dev/blog/2026/lock-github-actions/. Generated with gh actions-lock and checked locally with gh actions-lock --verify.

Renovate's lockfile support is still marked experimental. A local dry-run of Renovate 44.236.4 looks right (no digest pins proposed for locked workflows, the two reusable-workflow callers still get them), but I haven't seen it actually regenerate actions.lock in an update PR yet, so I think the first Monday batch after this lands is the real test.

Ref: https://github.blog/changelog/2026-10-28-github-actions-workflow-lockfiles-are-generally-available/

Generate `.github/workflows/actions.lock` with `gh actions-lock`, which
moves action SHAs out of the workflows into the lockfile, so `uses:`
lines name tags again. The lockfile also records each action's
owner/repo IDs and locks actions used inside composite actions, which
inline SHA pins did not cover.

Reusable workflows called from other repositories are not locked yet
(github/gh-actions-lock#179), so `add-to-project.yaml` and
`pr-title.yaml` keep their inline SHAs. Renovate skips digest pinning
only for workflows listed in the lockfile, so
`helpers:pinGitHubActionDigests` keeps pinning those two.

The new `actions-lock` CI job runs `gh actions-lock --verify`, and a
Renovate regex manager tracks the extension version it installs.

Signed-off-by: Stefan VanBuren <stefan@vanburen.xyz>
@anuraaga

anuraaga commented Nov 13, 2026 •

Copy link
Copy Markdown
Collaborator

Thanks for looking at this - there are definitely some advantages like transitive version pins to a lock file. One thing that made me hesitent is setup-uv doesn't publish floating tags for security reasons (predating locks) which means we will have github-actions version bumps anyways, so this will commonly add yet another renovate bump PR. Not a blocker but I wasn't convinced in going for it. At the minimum if going with this, we should use the broadest floating tag where available (most actions except setup-uv) to reduce version bump PRs outside of lockfile maintenance.

This branch has not been deployed

No deployments
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.

2 participants