Skip to content

renovate: annotate Makefile tool versions#18

Open
vdaviot wants to merge 1 commit into
mainfrom
improvement/annotate-makefile-versions
Open

renovate: annotate Makefile tool versions#18
vdaviot wants to merge 1 commit into
mainfrom
improvement/annotate-makefile-versions

Conversation

@vdaviot
Copy link
Copy Markdown
Contributor

@vdaviot vdaviot commented May 21, 2026

Summary

Annotates the kubebuilder-scaffolded tool pins in Makefile so the new shared platform-renovate preset's customManagers:makefileVersions can manage them. Tracks one of the four follow-ups listed in scality/platform-renovate#3 (the in-flight PR comment).

Annotations added

  • OPERATOR_SDK_VERSIONoperator-framework/operator-sdk GitHub releases
  • CERT_MANAGER_VERSIONcert-manager/cert-manager GitHub releases
  • KUSTOMIZE_VERSIONkubernetes-sigs/kustomize GitHub releases. Uses extractVersion=^kustomize/(?<version>.*)$ because the upstream releases are tagged with a kustomize/ prefix (the kustomize repo is a multi-tool monorepo).
  • CONTROLLER_TOOLS_VERSIONkubernetes-sigs/controller-tools GitHub releases
  • GOLANGCI_LINT_VERSIONgolangci/golangci-lint GitHub releases

Refactor: opm URL → OPM_VERSION

The previous opm rule had v1.55.0 hardcoded inside a curl URL, which Renovate's regex managers can't see. Refactored to a tracked variable:

# renovate: datasource=github-releases depName=operator-framework/operator-registry
OPM_VERSION ?= v1.55.0
...
curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/$(OPM_VERSION)/$${OS}-$${ARCH}-opm

The downloaded URL is identical at runtime; only the source-of-truth changes.

Merge order

Depends on scality/platform-renovate#3 (and indirectly on scality/crl-operator#15 which wires this repo to the shared preset). The annotations are inert until the new preset's customManagers:makefileVersions is active.

Test plan

  • make opm (or any rule that exercises OPM) still downloads the same v1.55.0 binary.
  • After the prerequisites land, observe the 6 tool pins under the operator-tooling / golangci-lint groups on the Dependency Dashboard.

Activates the shared platform-renovate preset's
`customManagers:makefileVersions` for the kubebuilder scaffold's tool
pins. Annotated:

- `OPERATOR_SDK_VERSION` → operator-framework/operator-sdk
- `CERT_MANAGER_VERSION` → cert-manager/cert-manager
- `KUSTOMIZE_VERSION` → kubernetes-sigs/kustomize (with
  `extractVersion=^kustomize/(?<version>.*)$` because release tags are
  prefixed with `kustomize/`)
- `CONTROLLER_TOOLS_VERSION` → kubernetes-sigs/controller-tools
- `GOLANGCI_LINT_VERSION` → golangci/golangci-lint

Also refactor the hardcoded `opm` URL into a tracked `OPM_VERSION`
variable so it can be managed alongside the others. The downloaded
URL is unchanged at runtime (`v1.55.0` is now `$(OPM_VERSION)`).

Once `scality/platform-renovate#3` lands, all six tools join the
`operator-tooling` group with label `deps/operator-tooling`
(`golangci-lint` joins the `golangci-lint` group with `deps/lint`).

Co-authored-by: Cursor <cursoragent@cursor.com>
@vdaviot vdaviot requested a review from a team as a code owner May 21, 2026 10:10
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