Skip to content

gh-146488: hash-pin all action references#146489

Open
woodruffw wants to merge 6 commits intopython:mainfrom
woodruffw-forks:ww/pin
Open

gh-146488: hash-pin all action references#146489
woodruffw wants to merge 6 commits intopython:mainfrom
woodruffw-forks:ww/pin

Conversation

@woodruffw
Copy link
Copy Markdown
Contributor

@woodruffw woodruffw commented Mar 26, 2026

See #146488.

What I've done here is run zizmor --fix=all ., and then cross-checked the fixes with pinact run -v .github/workflows/*.yml.

CC @sethmlarson

Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Copy link
Copy Markdown
Contributor

@sethmlarson sethmlarson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Signed-off-by: William Woodruff <william@yossarian.net>
@woodruffw
Copy link
Copy Markdown
Contributor Author

Sorry for the commit noise here, I fixed two lingering subpath mistakes (I'm pretty sure these are a bug in zizmor's --fix; I'll triage that separately.)

Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
@hugovk
Copy link
Copy Markdown
Member

hugovk commented Mar 26, 2026

Question about Dependabot.

Before, we just used major versions, like actions/checkout@v6. Dependabot would only update us to `v7, not minor or patch bumps.

Now, we pin to an exact commit, actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2, which of course maps to an exact x.y.z.

Does this mean Dependabot will now update us to 6.0.3, or 6.1.1, or whatever is available when it next triggers? This means more notifications. Is this the preferred way?

Or can we configure it to only trigger when there's a major bump?

@sethmlarson
Copy link
Copy Markdown
Contributor

@hugovk Dependabot can be configured to only update on major versions, I don't think having the pin set at a minor/patch would change that policy if it's defined already in dependabot.yml? Because I do know that Dependabot will ignore your policy completely if there's a security vulnerability associated with an action, leading to a patch/minor release getting used.

Copy link
Copy Markdown
Member

@zware zware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm afraid this is going to be a bit churny, but I think it's worth trying out. Hopefully the churn fears are overblown, or can be configured around :)

Signed-off-by: William Woodruff <william@yossarian.net>
@hugovk
Copy link
Copy Markdown
Member

hugovk commented Mar 27, 2026

@hugovk Dependabot can be configured to only update on major versions, I don't think having the pin set at a minor/patch would change that policy if it's defined already in dependabot.yml? Because I do know that Dependabot will ignore your policy completely if there's a security vulnerability associated with an action, leading to a patch/minor release getting used.

OK, thanks. I guess we'll be getting a PR once a month anyway, so they might as well update to the latest x.y.z.

I'm afraid this is going to be a bit churny, but I think it's worth trying out. Hopefully the churn fears are overblown, or can be configured around :)

monthly used to be the longest interval, but Dependabot has fairly recently added more options: quarterly, semiannually, yearly and cron:

https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#interval

Shall we try quarterly?

@webknjaz
Copy link
Copy Markdown
Member

Shall we try quarterly?

Personally, I only use quarterly in pre-commit.ci since it doesn't support higher values. For dependabot I'd go for a longer period. I think that the security updates disregard that setting so that should be fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants