feat: add compatibilityVersioning for distro-aware Docker tag updates #41845
thejoeejoee
started this conversation in
Suggest an Idea
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
Compound Docker tags like
python:3.12-bookwormcombine a semantic version with a distro compatibility identifier. Currently, Renovate can only update the version part, not the distro suffix. This limits use cases where both the Python version AND the Debian/Ubuntu distro version should be kept in sync.Related discussions:
Proposed Solution
Introduce a
compatibilityVersioningconfiguration option that applies distro-aware versioning (debian/ubuntu) to the compatibility part of the tag instead of requiring exact matching.Configuration Example
{ "packageRules": [{ "matchDatasources": ["docker"], "matchPackageNames": ["python"], "versionCompatibility": "^(?<version>[^-]+)-(?<compatibility>.+)$", "compatibilityVersioning": "debian", "versioning": "semver" }] }Expected Behavior
python:3.12-bookworm→python:3.14-trixie(updates both version and distro)compatibilityVersioning: "debian", the compatibility part follows Debian versioning rulesImplementation Notes
The
versionCompatibilityregex already splits tags intoversionandcompatibilitycapture groups. ThecompatibilityVersioningoption would:Phased Approach
Technical Details
The critical implementation detail is fixing
newValuereconstruction. Currently it usesString.replace()which does not handle compatibility-only changes correctly. A proper split/join pattern with the regex groups is needed.This feature enables better Docker versioning strategies for production deployments using pinned distro-specific tags.
Beta Was this translation helpful? Give feedback.
All reactions