Skip to content

fix: unblock two more dependencies silently dropped by Renovate customManagers#285

Merged
amuraru merged 1 commit into
masterfrom
fix/renovate-regex-manager-gaps
Jul 14, 2026
Merged

fix: unblock two more dependencies silently dropped by Renovate customManagers#285
amuraru merged 1 commit into
masterfrom
fix/renovate-regex-manager-gaps

Conversation

@amuraru

@amuraru amuraru commented Jul 14, 2026

Copy link
Copy Markdown

Summary

Follow-up to #284. That PR found Renovate never tracked apache/kafka because a customManager regex required an all-caps variable name. While auditing every other # renovate: / // renovate: annotation in the repo against its manager regex (not just for case mismatches), two more silently-dropped dependencies turned up — same failure mode (regex doesn't match, dependency vanishes with no error), different specific mismatch. Confirmed both by testing the actual regexes against the actual file content, and cross-referenced against the live Dependency Dashboard, which is missing exactly these entries today.

Changes

  • Makefile: ADDLICENSE_VERSION, GOTEMPLATE_VERSION, MOCKGEN_VERSION were declared with := while the customManager regex only matches a plain =. google/addlicense, cznic/gotemplate and uber-go/mock were never tracked as a result. Switched to =, matching the sibling entries in the same file that already work (GOLANGCI_VERSION, LICENSEI_VERSION, CONTROLLER_GEN_VERSION, ENVTEST_K8S_VERSION). Harmless — these are static version literals, so = vs := (recursive vs simple Make expansion) makes no behavioral difference.
  • tests/e2e/versions.go: ZookeeperOperatorVersion uses datasource=docker, which has no concept of a Helm repo registryUrl, but the customManager regex required registryUrl= unconditionally (every other entry in the file is a Helm chart and does supply one). Made registryUrl optional in the regex and template, mirroring the optional-group pattern already used for extractVersion in the Dockerfile/Makefile manager.

Test plan

  • renovate-config-validator passes against the updated renovate.json
  • Standalone Node regex test confirms all previously-silent entries (google/addlicense, cznic/gotemplate, uber-go/mock, ghcr.io/adobe/helm-charts/zookeeper-operator) now extract correctly, alongside the entries that already worked
  • Confirm all four show up under Detected Dependencies on the next Dependency Dashboard refresh

🤖 Generated with Claude Code

…mManagers

Cross-checked every # renovate: / // renovate:-annotated line in the repo
against its customManager regex (same audit that found the Kafka
tracking bug in #284, but this covers other mismatch shapes, not just
case). Cross-referenced against the live Dependency Dashboard (#156),
which was missing exactly these entries, and confirmed each fix with a
standalone regex test against the real file content.

- Makefile: ADDLICENSE_VERSION, GOTEMPLATE_VERSION and MOCKGEN_VERSION
  used `:=` while the customManager regex only matches a plain `=`, so
  google/addlicense, cznic/gotemplate and uber-go/mock were never
  tracked. Switched to `=` to match the other working entries in the
  same file (GOLANGCI_VERSION, LICENSEI_VERSION, etc.) - harmless, since
  these are static literals with no dependency on recursive vs simple
  expansion.

- tests/e2e/versions.go: ZookeeperOperatorVersion uses
  datasource=docker, which has no notion of a Helm repo registryUrl, but
  the customManager regex required `registryUrl=` unconditionally -
  every other entry in this file is a Helm chart and does supply one.
  Made registryUrl optional in the regex/template, mirroring the
  existing optional-group pattern already used for extractVersion in
  the sibling Dockerfile/Makefile manager.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@amuraru amuraru merged commit fd50fb5 into master Jul 14, 2026
7 checks passed
@amuraru amuraru deleted the fix/renovate-regex-manager-gaps branch July 14, 2026 12:14
amuraru added a commit that referenced this pull request Jul 14, 2026
#286)

Both bugs surfaced live after #285 merged and Renovate re-evaluated
master (per the Mend job log the user pulled from
https://developer.mend.io/github/adobe/koperator, and PR #279 /
Dependency Dashboard #156):

  WARN: Package lookup failures (branch="renovate/master-all-minor-patch")
  { "warnings": ["Failed to look up github-releases package
  cznic/gotemplate: no-result"], "files": ["Makefile"] }

  WARN: Invalid regex manager registryUrl { "value": "" }

1. Makefile's GOTEMPLATE_VERSION annotation said `depName=cznic/gotemplate`,
   but the Makefile actually `go install`s `github.com/coveooss/gotemplate/v3`
   (see the bin/gotemplate target a few lines down) - `cznic/gotemplate`
   doesn't exist on GitHub at all (confirmed 404), so the datasource
   lookup could never succeed. Fixed the depName to `coveooss/gotemplate`,
   which does exist and has a v3.12.0 release matching the pinned version.

2. My #285 fix made tests/e2e/versions.go's ZookeeperOperatorVersion
   (datasource=docker) match by making registryUrl optional in the
   regex, but registryUrlTemplate still rendered to an empty string for
   it (docker deps have no Helm-repo registryUrl) - and a templated ""
   is still a defined-but-invalid registryUrl to Renovate, not the same
   as omitting it, hence the warning. Split this into two customManagers
   instead: the original one, unchanged, for helm entries that always
   carry a registryUrl, plus a new one - scoped to the literal
   `datasource=docker` (RE2 has no lookaround, so this is how the split
   avoids overlap without negative-lookahead trickery) - that never
   defines registryUrlTemplate at all. Renovate then auto-derives the
   registry from the image name (confirmed via local run: it correctly
   resolved to https://ghcr.io on its own).

Verified for real, not just via renovate-config-validator: ran
`renovate --platform=local --dry-run=full` end-to-end (LOG_LEVEL=debug)
against this branch. Confirmed in the output:
  - coveooss/gotemplate resolves cleanly, warnings: []
  - ghcr.io/adobe/helm-charts/zookeeper-operator now extracted with
    registryUrl auto-derived as https://ghcr.io, warnings: []
  - apache/kafka still tracked from #284, updates: [] (3.9.2 is in fact
    the latest 3.x release - nothing newer within the allowedVersions
    "<4.0.0" pin, confirmed against GitHub tags)
  - zero occurrences of "invalid regex", "lookup fail", or "no-result"
    anywhere in the full run log

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant