Skip to content
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

Enable expanding granularity from major version to patch version #8277

Closed
1 task done
l0b0 opened this issue Oct 26, 2023 · 5 comments
Closed
1 task done

Enable expanding granularity from major version to patch version #8277

l0b0 opened this issue Oct 26, 2023 · 5 comments
Labels
T: feature-request Requests for new features

Comments

@l0b0
Copy link
Contributor

l0b0 commented Oct 26, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Feature description

It's a common practice to declare the use of actions using just the major version, as in - uses: actions/checkout@v3. If I understand correctly, this means that it will use version 3 exactly, and will not use future patch or minor versions of the same action. This is good for reproducibility (basically, things should be locked in place and not move randomly outside of users' control), but really bad in terms of making sure the pipeline always uses the latest version. I can't seem to find any way to configure Dependabot to automatically update something like actions/checkout@v3 to actions/checkout@v3.0.1 when that version is available, without first manually changing the entry to actions/checkout@v3.0.0.

@l0b0 l0b0 added the T: feature-request Requests for new features label Oct 26, 2023
@deivid-rodriguez
Copy link
Contributor

Hello!

Yes, Dependabot cannot do that, and I don't think it does that for any ecosystem at the moment. Right now, basically, you choose your own style and then Dependabot will respect it when upgrading your dependencies. But it can't help you setting/enforcing a style.

By the way, yes v3 uses the v3 tag exactly. However, it's a convention for GitHub Actions that v3 will be a rolling tag that always points to the latest v3.x.y tag. So for most actions, it's actually the opposite: bad for reproducibility, but good for making sure you're using the latest version. I think that's pretty confusing but it's how it is now.

@l0b0
Copy link
Contributor Author

l0b0 commented Oct 26, 2023

By the way, yes v3 uses the v3 tag exactly. However, it's a convention for GitHub Actions that v3 will be a rolling tag that always points to the latest v3.x.y tag. So for most actions, it's actually the opposite: bad for reproducibility, but good for making sure you're using the latest version. I think that's pretty confusing but it's how it is now.

So people break the universal convention of tags being fixed in the name of convenience? 😢

@deivid-rodriguez
Copy link
Contributor

Yes, I don't love it either. You can also use branches though, see the official recommendation.

It'd be nice if actions management didn't require actions' author to keep a moving tag or branch so that major version references work. Ideally actions would do some sane resolution if a tag does not exist, like proposed here: https://github.com/orgs/community/discussions/9847.

But it is what it is now!

@l0b0
Copy link
Contributor Author

l0b0 commented Oct 26, 2023

IMO the ideal solution would be the one used by pre-commit autoupdate --freeze - set the value to the commit ID of the latest tag, and add a comment with the tag name.

@deivid-rodriguez
Copy link
Contributor

Yeah, that's a pretty common style. I think it became popular since openssf scorecard recommended it.

Dependabot fully supports that. You do have to pin your actions manually one time, but then Dependabot will keep them up to date (and also the comments).

@l0b0 l0b0 closed this as completed Nov 7, 2023
l0b0 added a commit to linz/topo-workflows that referenced this issue Nov 15, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
l0b0 added a commit to linz/argo-tasks that referenced this issue Nov 15, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
github-merge-queue bot pushed a commit to linz/topo-workflows that referenced this issue Nov 15, 2023
#### Motivation

Make sure we run specific versions of actions, rather than moving tags.

#### Modification

Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

#### Checklist

_If not applicable, provide explanation of why._

- [ ] Tests updated (N/A)
- [ ] Docs updated (N/A)
- [x] Issue linked in Title
l0b0 added a commit to linz/emergency-management-tools that referenced this issue Nov 15, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to l0b0/install-nix-action that referenced this issue Nov 15, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
l0b0 added a commit to linz/argo-tasks that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
l0b0 added a commit to linz/imagery that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/emergency-management-tools that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/hydro-aws-infrastructure that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/python-linz-logger that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/stac-extension-template that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/stac-extension-template that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
l0b0 added a commit to linz/template-javascript-hello-world that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/topo-imagery that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/topo-workflows that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/template-python-hello-world that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.y*ml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/template-python-hello-world that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.y*ml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/hydro-aws-infrastructure that referenced this issue Nov 16, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/template-python-hello-world that referenced this issue Nov 20, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.y*ml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.

# Conflicts:
#	.github/workflows/codeql-analysis.yml
github-merge-queue bot pushed a commit to linz/topo-imagery that referenced this issue Nov 20, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/emergency-management-tools that referenced this issue Nov 23, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/emergency-management-tools that referenced this issue Nov 23, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action --comment=' {ref}' .github/workflows/*.y*ml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
kodiakhq bot pushed a commit to linz/python-linz-logger that referenced this issue Nov 27, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
github-merge-queue bot pushed a commit to linz/argo-tasks that referenced this issue Nov 27, 2023
#### Motivation

Make sure we run specific versions of actions, rather than moving tags.

#### Modification

Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

#### Checklist

_If not applicable, provide explanation of why._

- [ ] Tests updated (N/A)
- [ ] Docs updated (N/A)
- [x] Issue linked in Title
l0b0 added a commit to linz/emergency-management-tools that referenced this issue Nov 27, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action --comment=' {ref}' .github/workflows/*.y*ml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained personal
access tokens with no extra access to work around rate limiting *and* to be
able to work in private repos
<mheap/pin-github-action#73>.
github-merge-queue bot pushed a commit to linz/imagery that referenced this issue Nov 27, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained
personal access tokens with no extra access to work around rate limiting
*and* to be able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to linz/stac that referenced this issue Nov 28, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
l0b0 added a commit to linz/stac that referenced this issue Nov 28, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.9.1 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
l0b0 added a commit to linz/stac that referenced this issue Nov 30, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.9.1 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
l0b0 added a commit to linz/stac that referenced this issue Nov 30, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.9.1 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
github-merge-queue bot pushed a commit to linz/stac that referenced this issue Dec 4, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.9.1 using `npx pin-github-action .github/workflows/*.y*ml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

---------

Co-authored-by: paulfouquet <86932794+paulfouquet@users.noreply.github.com>
github-merge-queue bot pushed a commit to linz/template-javascript-hello-world that referenced this issue Dec 15, 2023
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.

Had to `export GH_ADMIN_TOKEN=github_pat_…` using a fine-grained
personal access tokens with no extra access to work around rate limiting
*and* to be able to work in private repos
<mheap/pin-github-action#73>.
l0b0 added a commit to l0b0/install-nix-action that referenced this issue Jan 14, 2024
Done with pin-github-action <https://github.com/mheap/pin-github-action>
1.8.0 using `npx pin-github-action .github/workflows/*.yml`, and then
manually bumping the version tag to the relevant number.

This fixes the issue that it is common practice for GitHub Actions
authors to move major tags when releasing new minor versions.

Dependabot should support updating in the same fashion
<dependabot/dependabot-core#8277 (comment)>.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: feature-request Requests for new features
Projects
None yet
Development

No branches or pull requests

2 participants