Files
renovate/lib/modules/versioning/github-actions/readme.md
T
Jamie Tanna d508716886 feat(versioning): add a github-actions versioning (#42712)
GitHub Actions' versioning somewhat mirrors the SemVer-style versioning,
but doesn't quite.

This is in the case that it's common to use (mutable) tags like `v7` or
`v4.2`, as well as full SemVer style` `v1.2.3` and `v1.3.4-rc2`, doesn't
quite match it.

In addition, with GitHub's recent move to introduce Immutable Tags,
these require new releases to be a full SemVer `major.minor.patch` tag.

However, we don't currently have a way to take users from `@v7` to
`@v8.1.1`, in the case they're using Immutable Tags.

Given this isn't currently straightforward with any of our existing
SemVer-y versioning modules like `semver-coerced` or `semver-partial`,
we should instead introduce a specific Versioning module.

This mostly covers the functionality that `semver-partial` has, but
needs to take advantage of the `allVersions` parameter to find the
"shortest" possible tag for a given resolved Semantic Version.

This was previously attempted in previous changes, but reverted in
db64cc6de0 due to additional complexity.

We won't turn it on by default right now, but as a future change.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-04-17 19:07:45 +00:00

680 B

Versioning specific to GitHub Actions' usage of Semantic Versioning, for mutable and immutable tags.

The "shortest" tag will be used where possible - if you are previously using v7, and there is an upgrade to v7.5.3, v7 will be used.

Immutable Tags

When using Immutable Releases for GitHub Tags, it is required to use explicit SemVer major.minor.patch versions.

If you have previously used an unpinned version, such as @v7, Renovate will migrate you on the next update, such as:

-       uses: astral-sh/setup-uv@v7
+       uses: astral-sh/setup-uv@v8.1.0