fix(renovate): the annotated-ARG manager could not see a digest or a quote #106
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/renovate-digest-aware-args"
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?
Two silent extraction failures in the annotated-ARG custom manager, found while deciding what shape today's digest pins should take so they don't rot:
ARG X=0.3.2@sha256:…captured the whole value ascurrentValue. No versioning scheme parses that, so every digest-pinned annotated ARG in the repo — cve-gate's three DHI bases, ci-runner'sCVE_GATE_VERSIONandRUNNER_VERSION— was silently unmanaged. The PR history confirms it: Renovate has bumped bare-version ARGs (#56, Node 22→24) and never a digest-carrying one.ARG YQ_VERSION="4.47.1"captured the quotes. This is almost certainly the open mystery of why helm-deploy's yq sat stale behind a visually-correct annotation.Split into two patterns:
<tag>@<digest>shapes — capturescurrentValueandcurrentDigestseparately; works for both full refs (${REGISTRY_DHI}/golang:1.26.5-alpine3.23-dev@sha256:…) and bare pins (0.3.2@sha256:…)Both tolerate quoted values.
Verification: all seven ARG shapes that exist in
ops/dockertoday, tested against the patterns loaded from this file — each matches exactly one pattern and extracts a parseable version + digest where present.No builds triggered (repo-root file only). This unblocks the Phase 1 digest-pinning PRs: without it, every new pin would be invisible to Renovate on day one.
Generated with Claude Code