Skip to content

MGMT-24454: update CAPOA CI build root to Go 1.26.2#80022

Open
shay23bra wants to merge 1 commit into
openshift:mainfrom
shay23bra:MGMT-24454-upgrade-golang-1.26-capoa
Open

MGMT-24454: update CAPOA CI build root to Go 1.26.2#80022
shay23bra wants to merge 1 commit into
openshift:mainfrom
shay23bra:MGMT-24454-upgrade-golang-1.26-capoa

Conversation

@shay23bra
Copy link
Copy Markdown

@shay23bra shay23bra commented Jun 3, 2026

Summary

https://redhat.atlassian.net/browse/MGMT-24454

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 3, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Jun 3, 2026

@shay23bra: This pull request references MGMT-24454 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

https://redhat.atlassian.net/browse/MGMT-24454

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 openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 3, 2026

Walkthrough

Bumps the Go toolchain reference from 1.25.x to 1.26.x: Dockerfile snippet now installs Go 1.26.2, and two CI build_root image_stream_tag entries are updated to rhel-9-release-golang-1.26-openshift-5.0.

Changes

Go Toolchain & build_root tag updates

Layer / File(s) Summary
Buildroot Dockerfile Go bump
ci-operator/config/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master.yaml
The build_root.project_image.dockerfile_literal now downloads, extracts, and removes the Go 1.26.2 tarball instead of Go 1.25.5.
build_root image_stream_tag bumps
ci-operator/config/openshift/image-based-install-operator/openshift-image-based-install-operator-backplane-5.0.yaml, ci-operator/config/openshift/image-based-install-operator/openshift-image-based-install-operator-main.yaml
build_root.image_stream_tag.tag values updated to rhel-9-release-golang-1.26-openshift-5.0 from the prior Go 1.25/OpenShift 4.x variants.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • openshift/release#79717: Updates builder image to use Go 1.26 version, directly related to the same toolchain upgrade effort.
  • openshift/release#79754: Updates installer/operator build_root image stream tags to a newer Go 1.26/OpenShift 5.0 release image.
  • openshift/release#79819: Moves CI build_root Go toolchain forward via similar YAML tag changes.

Suggested labels

lgtm, approved, rehearsals-ack

Suggested reviewers

  • asood-rh
  • jechen0648
  • gbenhaim
🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main change: updating Go version in CAPOA CI build root from 1.25.5 to 1.26.2, which is the primary objective across the changed files.
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 contains only YAML CI configuration changes (Go version updates), no Ginkgo test code modifications. Check for stable test names is not applicable.
Test Structure And Quality ✅ Passed PR contains only YAML CI configuration changes (Go version updates), not any Ginkgo test code. The check requiring Ginkgo test quality review is not applicable to configuration-only changes.
Microshift Test Compatibility ✅ Passed PR contains only CI build configuration updates (Go version upgrades) with no new Ginkgo e2e tests added. The MicroShift Test Compatibility check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No Ginkgo e2e tests (It, Describe, Context, When) are being added in this PR; it only updates Go versions in CI configuration YAML files, making the SNO test compatibility check inapplicable.
Topology-Aware Scheduling Compatibility ✅ Passed Files modified are CI operator configuration files that only update Go toolchain versions and image tags. No scheduling constraints were introduced.
Ote Binary Stdout Contract ✅ Passed PR contains only CI configuration file changes (YAML files updating Go versions in ci-operator config). No changes to source code or test code that could violate OTE stdout contract.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR modifies only CI/CD configuration YAML files (Go version updates), not Ginkgo e2e tests. Check is not applicable.
No-Weak-Crypto ✅ Passed PR contains only CI configuration updates (Go toolchain version from 1.25 to 1.26) with no weak cryptographic algorithms, custom implementations, or non-constant-time comparisons detected.
Container-Privileges ✅ Passed No privileged container settings (privileged: true, hostPID, hostNetwork, hostIPC, SYS_ADMIN, allowPrivilegeEscalation) were found or introduced in the modified YAML configuration files.
No-Sensitive-Data-In-Logs ✅ Passed PR updates Go toolchain versions in CI configs (1.25.5→1.26.2). No passwords, tokens, API keys, PII, session IDs, internal hostnames, or sensitive debug logging found in any file.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci openshift-ci Bot requested review from adriengentil and carbonin June 3, 2026 10:04
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@ci-operator/config/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master.yaml`:
- Around line 22-25: The Dockerfile snippet is attempting to fetch go1.26.2
which isn't available; update the tarball URL to a valid released Go binary
(e.g., change go1.26.2.linux-amd64.tar.gz to a released patch like
go1.26.4.linux-amd64.tar.gz) or instead align the toolchain with the module's
declared version by reverting to Go 1.25.x to match the repository go.mod;
ensure the wget target and all subsequent references (the wget line and the tar
-C /usr/local -xzf invocation) use the same valid tarball name so the download
and extraction succeed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: dbe5f985-b2c6-46f9-bd73-f4063a695377

📥 Commits

Reviewing files that changed from the base of the PR and between 7cd5b08 and e5e4e7c.

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

Comment on lines +22 to +25
wget -q https://go.dev/dl/go1.26.2.linux-amd64.tar.gz && \
rm -rf /usr/local/go && \
tar -C /usr/local -xzf go1.25.5.linux-amd64.tar.gz && \
rm -f go1.25.5.linux-amd64.tar.gz && \
tar -C /usr/local -xzf go1.26.2.linux-amd64.tar.gz && \
rm -f go1.26.2.linux-amd64.tar.gz && \
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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify Go 1.26.2 tarball exists and check upstream go.mod Go version requirement

echo "=== Checking Go 1.26.2 availability ==="
curl -I -s -o /dev/null -w "%{http_code}" https://go.dev/dl/go1.26.2.linux-amd64.tar.gz | grep -q "^200$" && \
  echo "✓ Go 1.26.2 tarball is available" || \
  echo "✗ Go 1.26.2 tarball not found (HTTP status not 200)"

echo ""
echo "=== Checking upstream go.mod Go version ==="
if [[ -f go.mod ]]; then
  echo "Found go.mod in openshift/release repo (not the upstream repo being tested)"
fi

# Check the upstream repo's go.mod by cloning it temporarily
TEMP_DIR=$(mktemp -d)
cd "$TEMP_DIR"
git clone --depth 1 https://github.com/openshift-assisted/cluster-api-provider-openshift-assisted.git
cd cluster-api-provider-openshift-assisted

if [[ -f go.mod ]]; then
  GO_VERSION=$(rg -n '^go\s+' go.mod | head -1)
  echo "Upstream go.mod declares: $GO_VERSION"
  
  if echo "$GO_VERSION" | grep -q "1.26"; then
    echo "✓ Upstream requires Go 1.26"
  else
    echo "✗ Upstream does not require Go 1.26"
  fi
else
  echo "✗ No go.mod found in upstream repo"
fi

cd /
rm -rf "$TEMP_DIR"

Repository: openshift/release

Length of output: 410


🌐 Web query:

What is the latest Go 1.26 version available as of June 2026?

💡 Result:

As of June 3, 2026, the latest Go 1.26 version available is go1.26.4, which was released on June 2, 2026 [1]. This version includes security fixes for the crypto/x509, mime, and net/textproto packages, along with various bug fixes [1].

Citations:


Go toolchain bump to 1.26.2 is likely broken (missing tarball) and may not match upstream requirements

  • This config downloads go1.26.2.linux-amd64.tar.gz (lines 22-25), but go.dev does not serve that tarball (non-200 response), so the build environment may fail.
  • The upstream cluster-api-provider-openshift-assisted go.mod currently declares go 1.25.0, so the Go 1.26 update should be aligned with upstream (and the referenced upstream PR #717).

Consider switching to an actually released Go 1.26.x tarball (e.g., go1.26.4) or aligning the toolchain version with the upstream go.mod.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/config/openshift-assisted/cluster-api-provider-openshift-assisted/openshift-assisted-cluster-api-provider-openshift-assisted-master.yaml`
around lines 22 - 25, The Dockerfile snippet is attempting to fetch go1.26.2
which isn't available; update the tarball URL to a valid released Go binary
(e.g., change go1.26.2.linux-amd64.tar.gz to a released patch like
go1.26.4.linux-amd64.tar.gz) or instead align the toolchain with the module's
declared version by reverting to Go 1.25.x to match the repository go.mod;
ensure the wget target and all subsequent references (the wget line and the tar
-C /usr/local -xzf invocation) use the same valid tarball name so the download
and extraction succeed.

@shay23bra
Copy link
Copy Markdown
Author

/pj-rehearse

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@rccrdpccl
Copy link
Copy Markdown
Contributor

/pj-rehearse pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-unit

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@rccrdpccl
Copy link
Copy Markdown
Contributor

/pj-rehearse pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-multinode

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@shay23bra shay23bra force-pushed the MGMT-24454-upgrade-golang-1.26-capoa branch from b8991c9 to e5e4e7c Compare June 4, 2026 09:17
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 4, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: shay23bra
Once this PR has been reviewed and has the lgtm label, please assign eranco74 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@shay23bra: 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-assisted-cluster-api-provider-openshift-assisted-master-ansible-lint openshift-assisted/cluster-api-provider-openshift-assisted presubmit Ci-operator config changed
pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-check-generated-files openshift-assisted/cluster-api-provider-openshift-assisted presubmit Ci-operator config changed
pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-multinode openshift-assisted/cluster-api-provider-openshift-assisted presubmit Ci-operator config changed
pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-sno openshift-assisted/cluster-api-provider-openshift-assisted presubmit Ci-operator config changed
pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-lint openshift-assisted/cluster-api-provider-openshift-assisted presubmit Ci-operator config changed
pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-unit openshift-assisted/cluster-api-provider-openshift-assisted presubmit Ci-operator config changed
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.

@rccrdpccl
Copy link
Copy Markdown
Contributor

/pj-rehearse pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-multinode

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 4, 2026

@shay23bra: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift-assisted/cluster-api-provider-openshift-assisted/master/e2e-capi-multinode e5e4e7c link unknown /pj-rehearse pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-multinode
ci/rehearse/openshift-assisted/cluster-api-provider-openshift-assisted/master/e2e-capi-sno b8991c9 link unknown /pj-rehearse pull-ci-openshift-assisted-cluster-api-provider-openshift-assisted-master-e2e-capi-sno

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.

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

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants