renovate: termix — strip -tag suffix from github-releases candidates #66
Reference in New Issue
Block a user
Delete Branch "feat/renovate-termix-tag-suffix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
4th attempt. v3 (regex versioning) made Renovate query github-releases successfully but produced
Found no results from datasource that look like a version. The GitHub Releases API forTermix-SSH/Termixreturnstag_name=release-X.Y.Z-tag(with a-tagsuffix), while the releasenameand the docker image registry tags arerelease-X.Y.Z(no suffix). Our regex correctly rejected the-tagform, so no candidates matched.Fix: add
extractVersionTemplate: ^(?<version>release-\d+\.\d+\.\d+)which Renovate applies to each candidate from the datasource. tag_namesrelease-2.3.2-tagbecomerelease-2.3.2, regex versioning parses them, and the short form is what Renovate writes back to the manifest (matches the ghcr.io tag).🤖 Generated with Claude Code
-tagsuffix from GitHub release tag_names e12cc36266Verified with the GitHub Releases API for Termix-SSH/Termix that the actual `tag_name` field is `release-X.Y.Z-tag` (with a `-tag` suffix), even though the release `name` is `release-X.Y.Z`. Renovate's github-releases datasource keys off `tag_name`, so the regex versioning correctly rejects all candidates as invalid: INFO: Found no results from datasource that look like a version (dependency=Termix-SSH/Termix) The docker image at ghcr.io/lukegus/termix uses the short form (`release-X.Y.Z`, no suffix), which is what the manifest also has. Fix: add `extractVersionTemplate: ^(?<version>release-\d+\.\d+\.\d+)` which Renovate applies to each candidate from the datasource BEFORE the versioning regex sees it. tag_names `release-2.3.2-tag` become `release-2.3.2`, the regex versioning parses them, comparison works, and Renovate writes the short form back to the manifest -- which is the correct tag at the ghcr.io registry. (extractVersion is NOT applied to currentValue, but currentValue already is in the short form, so no normalization needed there.) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>