Skip to content

Update metadata for renovate bot#11931

Open
MichalFupso wants to merge 3 commits intoprojectcalico:release-v3.30from
MichalFupso:renovate-bot-3.30
Open

Update metadata for renovate bot#11931
MichalFupso wants to merge 3 commits intoprojectcalico:release-v3.30from
MichalFupso:renovate-bot-3.30

Conversation

@MichalFupso
Copy link
Contributor

Updates metadata.mk file to make it readable and editable by renovate bot.

Release note:

TBD

Copilot AI review requested due to automatic review settings February 25, 2026 21:30
@MichalFupso MichalFupso requested a review from a team as a code owner February 25, 2026 21:30
@MichalFupso MichalFupso added docs-not-required Docs not required for this change release-note-not-required Change has no user-facing impact labels Feb 25, 2026
@marvin-tigera marvin-tigera added this to the Calico v3.30.6 milestone Feb 25, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates metadata.mk to expose Go/Kubernetes/LLVM version components as separate variables and derives GO_BUILD_VER from those components, aiming to make version pins easier for Renovate to manage.

Changes:

  • Introduce GO_VERSION, K8S_VERSION, and LLVM_VERSION variables in metadata.mk.
  • Compute GO_BUILD_VER from those variables instead of hardcoding it.

LLVM_VERSION=18.1.8
# The version of calico/go-build and calico/base to use.
GO_BUILD_VER=1.24.12-llvm18.1.8-k8s1.32.11
GO_BUILD_VER=$(GO_VERSION)-llvm$(LLVM_VERSION)-k8s$(K8S_VERSION:v%=%)
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GO_BUILD_VER is now computed from other variables, but the existing update-go-build-pin automation in lib.Makefile reads GO_BUILD_VER as a literal version string and compares/rewrites it via grep/sed. With this expression, that target will likely behave incorrectly and will overwrite this computed form. Either keep GO_BUILD_VER pinned as a literal value, or update the pin-update tooling to operate on GO_VERSION / LLVM_VERSION / K8S_VERSION instead.

Suggested change
GO_BUILD_VER=$(GO_VERSION)-llvm$(LLVM_VERSION)-k8s$(K8S_VERSION:v%=%)
GO_BUILD_VER=1.24.12-llvm18.1.8-k8s1.32.11

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @MichalFupso could you clarify how this is supposed to work now?

IIUC, the old way was to have the GO_BUILD_VER set here as a string literal, and either a human would update this value here manually from time-to-time, or it would get updated by the update-go-build-pin Makefile target. Right?

What's the motivation to change it to be dynamic here, and how does that work along side the update-go-build-pin Makefile target?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC the make target only checks for latest toolchain tag, so it would update minor version of k8s and go and not only the patch version. The motivation to split it is for renovate bot to be able to read it and update the versions independently. With the current composite format the bot is not able to compare image tags and to check for patch updates

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But will this "play nice" with the update-go-build-pin target?

Meaning nothing in the Makefile machinery will come in and clobber your new format for GO_BUILD_VER.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The make target won't be usable with this new split, but if ran it won't make things worse.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it not make sense, as part of this PR, to remove that Makefile target and make it compatible with your change?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-not-required Docs not required for this change release-note-not-required Change has no user-facing impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants