Skip to content

ACM-35636: Bump CI build images to Go 1.25 for cluster-api-provider-kubevirt release-4.20 - #82010

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
amitesh1201:capk-release-4.20-bump-go125
Jul 22, 2026
Merged

ACM-35636: Bump CI build images to Go 1.25 for cluster-api-provider-kubevirt release-4.20#82010
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
amitesh1201:capk-release-4.20-bump-go125

Conversation

@amitesh1201

@amitesh1201 amitesh1201 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Update build_root and dockerfile_literal Go toolchain from rhel-9-release-golang-1.24-openshift-4.21 to rhel-9-release-golang-1.25-openshift-4.22 for cluster-api-provider-kubevirt release-4.20 CI config.
  • Required because openshift/cluster-api-provider-kubevirt#490 bumps golang.org/x/crypto to v0.52.0 (fixing CVE-2026-39829 + 19 other CVEs), which requires Go 1.25.0.
  • Jira: OCPBUGS-93933

Why

Without this change, all CI jobs for PR #490 fail with:

go: go.mod requires go >= 1.25.0 (running go 1.24.13; GOTOOLCHAIN=local)

The go directive in go.mod was bumped from 1.24.9 to 1.25.0 because the minimum Go 1.24-compatible x/crypto version (v0.48.0) does not fix CVE-2026-39829. The fix is only available in v0.52.0+, which requires Go 1.25.0.

Changes

Location Before After
build_root.image_stream_tag.tag rhel-9-release-golang-1.24-openshift-4.21 rhel-9-release-golang-1.25-openshift-4.22
dockerfile_literal FROM registry.ci.openshift.org/openshift/release:rhel-9-release-golang-1.24-openshift-4.21 registry.ci.openshift.org/openshift/release:rhel-9-release-golang-1.25-openshift-4.22

CVEs resolved by the dependent PR

  • CVE-2026-39829 (CVSS 7.5 HIGH) — Pathological RSA/DSA params → DoS in golang.org/x/crypto/ssh
  • Plus 12 additional x/crypto/ssh CVEs and 6 x/net CVEs (20 total)

Test plan

Made with Cursor

Summary by CodeRabbit

  • Updates cluster-api-provider-kubevirt release-4.20 CI builds to use Go 1.25 / OpenShift 4.22 build images, enabling compatibility with the newer Go toolchain required by dependent security updates.

…er-kubevirt release-4.20

Update build_root and dockerfile_literal to use
rhel-9-release-golang-1.25-openshift-4.22 (from golang-1.24-openshift-4.21).

This is required because PR openshift/cluster-api-provider-kubevirt#490
bumps golang.org/x/crypto to v0.52.0 (fixing CVE-2026-39829 and 19
other CVEs), which requires Go 1.25.0. Without this change, CI fails
with: "go.mod requires go >= 1.25.0 (running go 1.24.13; GOTOOLCHAIN=local)"

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: dea56884-2cdb-4fba-9ac3-76d5824a3273

📥 Commits

Reviewing files that changed from the base of the PR and between eaacc38 and 2f11d0d.

📒 Files selected for processing (1)
  • ci-operator/config/openshift/cluster-api-provider-kubevirt/openshift-cluster-api-provider-kubevirt-release-4.20.yaml

Walkthrough

The release configuration updates the build_root toolchain Dockerfile to use the RHEL 9 image with Go 1.25 and OpenShift 4.22 instead of Go 1.24 and OpenShift 4.21.

Changes

Build toolchain update

Layer / File(s) Summary
Update build root image
ci-operator/config/openshift/cluster-api-provider-kubevirt/openshift-cluster-api-provider-kubevirt-release-4.20.yaml
The embedded Dockerfile’s FROM image changes to rhel-9-release-golang-1.25-openshift-4.22.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: upgrading CI build images to Go 1.25 for this release branch.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR only changes ci-operator YAML toolchain image tags; no Ginkgo test files or dynamic test titles were added or modified.
Test Structure And Quality ✅ Passed PR only updates CI YAML Go image tags; no Ginkgo test code or test blocks were changed, so this check is not applicable.
Microshift Test Compatibility ✅ Passed Diff only changes CI image tags in a YAML config; no new Ginkgo tests or OpenShift API usage were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only changes CI image tags in a YAML config; no new or modified Ginkgo e2e tests were added, so no SNO-specific issues apply.
Topology-Aware Scheduling Compatibility ✅ Passed Only the ci-operator config changed, updating Go toolchain image refs; no deployment manifests, controllers, or scheduling constraints were added.
Ote Binary Stdout Contract ✅ Passed Only the ci-operator YAML changed; no main/init/TestMain/suite code was modified, so the stdout contract is unaffected.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only changes CI build images in a YAML config; no Ginkgo test code or network assumptions were added.
No-Weak-Crypto ✅ Passed The PR only updates CI image tags in a YAML config; no crypto code or weak-crypto patterns appear in the diff.
Container-Privileges ✅ Passed The only modified manifest changes Go toolchain image refs; no privileged, host* network/PID/IPC, SYS_ADMIN, or allowPrivilegeEscalation settings were added, and the image ends as nonroot.
No-Sensitive-Data-In-Logs ✅ Passed Diff only bumps Go toolchain image tags in CI YAML; no logging or sensitive-data strings were introduced.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci
openshift-ci Bot requested review from awels and nirarg July 16, 2026 13:32
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@amitesh1201: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-cluster-api-provider-kubevirt-release-4.20-e2e-hypershift-kubevirt openshift/cluster-api-provider-kubevirt presubmit Ci-operator config changed
pull-ci-openshift-cluster-api-provider-kubevirt-release-4.20-images openshift/cluster-api-provider-kubevirt presubmit Ci-operator config changed
pull-ci-openshift-cluster-api-provider-kubevirt-release-4.20-unit-tests openshift/cluster-api-provider-kubevirt presubmit Ci-operator config changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@amitesh1201

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-cluster-api-provider-kubevirt-release-4.20-e2e-hypershift-kubevirt pull-ci-openshift-cluster-api-provider-kubevirt-release-4.20-images pull-ci-openshift-cluster-api-provider-kubevirt-release-4.20-unit-tests

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@amitesh1201: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@amitesh1201: job(s): either don't exist or were not found to be affected, and cannot be rehearsed

@amitesh1201

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-cluster-api-provider-kubevirt-release-4.20-e2e-hypershift-kubevirt

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@amitesh1201: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@amitesh1201

Copy link
Copy Markdown
Contributor Author

/test ci-operator-config-metadata

@openshift-ci

openshift-ci Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

@amitesh1201: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@amitesh1201

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@amitesh1201: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 17, 2026
@amitesh1201

Copy link
Copy Markdown
Contributor Author

All CI and pj-rehearse jobs are green. This unblocks openshift/cluster-api-provider-kubevirt#490 (CVE fix, OCPBUGS-93933).

Could one of the reviewers please take a look when you have a moment? Thanks!

@damdo damdo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/approve
/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 22, 2026

@nunnatsa nunnatsa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/approve
/lgtm

@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: amitesh1201, damdo, nunnatsa

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 22, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 8d84650 into openshift:main Jul 22, 2026
17 checks passed
fracappa pushed a commit to fracappa/release that referenced this pull request Jul 22, 2026
…er-kubevirt release-4.20 (openshift#82010)

Update build_root and dockerfile_literal to use
rhel-9-release-golang-1.25-openshift-4.22 (from golang-1.24-openshift-4.21).

This is required because PR openshift/cluster-api-provider-kubevirt#490
bumps golang.org/x/crypto to v0.52.0 (fixing CVE-2026-39829 and 19
other CVEs), which requires Go 1.25.0. Without this change, CI fails
with: "go.mod requires go >= 1.25.0 (running go 1.24.13; GOTOOLCHAIN=local)"

Co-authored-by: Cursor <cursoragent@cursor.com>
@amitesh1201 amitesh1201 changed the title Bump CI build images to Go 1.25 for cluster-api-provider-kubevirt release-4.20 ACM-35636: Bump CI build images to Go 1.25 for cluster-api-provider-kubevirt release-4.20 Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants