-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatically derive defaults versions from checksums #11906
base: master
Are you sure you want to change the base?
Automatically derive defaults versions from checksums #11906
Conversation
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: VannTen The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
(I've put this as draft because I don't think it can pass tests without #11890 merged) |
7ae4dde
to
ced302a
Compare
Currently, when updating checksums, we manually update the default versions. However, AFAICT, for all components where we have checksums, we're using the newest version out of those checksums. Codify this in the `_version` defaults variables definition to make the process automatic and reduce manual steps (as well as the diff size during reviews). We assume the versions are sorted, with newest first. This should be guaranteed by the pre-commit hooks.
The pre-commit hook introduced a142f40 (Update versions in README.md with pre-commit, 2025-01-21) allow to update our README with new versions. It turns out other "static" files (== which don't interpret Ansible variables) also use the default version (in that case, our Dockefiles, but there might be others) The Dockerfile breaks if the variable they use (`kube_version`) is a Jinja template. For helping with automatic version upgrade, generalize the hook to deal with other static files, and make a template out of the Dockerfile.
All the ansible/python tooling for version is for version strings. YAML unhelpfully consider some stuff as number, so enforce this.
ced302a
to
191ec7b
Compare
I expect a conflict with #11890 (since I stringified the versions here) but I'll fix it in whatever PR does not merge first. |
/retest-failed
|
What type of PR is this?
/kind feature
What this PR does / why we need it:
Currently, when updating checksums, we manually update the default versions.
However, AFAICT, for all components where we have checksums, we're using the newest version out of those checksums.
Codify this in the
_version
defaults variables definition to make the process automatic and reduce manual steps (as well as the diff size during reviews).With this and:
we should have a pretty good story for automatic versions upgrades, hands-off. Just need to find how to run the updater + pre-commit and make a PR out of that.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/label ci-extended
(as we're touching versions of several stuff)
Does this PR introduce a user-facing change?: