Skip to content

Add Prow CI config for openshift-online/gecko - #82311

Merged
openshift-merge-bot[bot] merged 9 commits into
openshift:mainfrom
apahim:gecko
Jul 28, 2026
Merged

Add Prow CI config for openshift-online/gecko#82311
openshift-merge-bot[bot] merged 9 commits into
openshift:mainfrom
apahim:gecko

Conversation

@apahim

@apahim apahim commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Register openshift-online/gecko in openshift/release with Prow CI for PR presubmit checks
  • ci-operator config with Go 1.26 builder and single make test entry point
  • Prow/Tide branch protection requiring ci/prow/test on main
  • Standard plugin config (approve, lgtm, external plugins) matching team conventions

Jira: GCP-918

Test plan

  • CI on this PR validates the config files (ci-operator-config, prow-config sanitization)
  • After merge, verify ci/prow/test triggers on PRs to openshift-online/gecko
  • Verify Tide is configured and branch protection is active on main

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Adds an OpenShift CI Operator (ci-operator) configuration for openshift-online/gecko on main, using a Go 1.26 builder image and a make test presubmit (runs in the src container after unset GOFLAGS), with CPU/memory requests and limits applied.
  • Introduces Prow/Tide configuration: enforces ci/prow/test checks on main, adds label-driven merge automation based on approved + lgtm, and filters out items missing required labels.
  • Updates Prow approval behavior where review actions count as LGTM (self-approval not required), includes the enabled plugin set, and restricts trigger actions to openshift-merge-bot.
  • Wires repo external Prow events to HTTP endpoints and adds a new presubmit job definition for main/main- branches.
  • Populates auto-generated OWNERS metadata for both CI operator config and job directories (with “DO NOT EDIT”).

@openshift-ci
openshift-ci Bot requested review from bear-redhat and droslean July 22, 2026 17:11
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds ownership, CI test, Prow plugin, branch-protection, and Tide configurations for openshift-online/gecko on its main branch.

Changes

Gecko repository onboarding

Layer / File(s) Summary
CI test definition
ci-operator/config/openshift-online/gecko/*
Defines repository approvers and reviewers, the build image, resource settings, generated metadata, and a make test job.
Presubmit execution
ci-operator/jobs/openshift-online/gecko/*
Adds the Prow presubmit job that invokes the CI Operator test target with its execution environment and mounted credentials.
Prow governance and merge gating
core-services/prow/02_config/openshift-online/gecko/*
Configures approval, external plugins, review-based LGTM, branch protection, trusted applications, and Tide queries using required and excluded labels.

Estimated code review effort: 2 (Simple) | ~15 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PullRequest
  participant Prow
  participant CIOperator
  participant TestContainer
  PullRequest->>Prow: trigger test job
  Prow->>CIOperator: run --target=test
  CIOperator->>TestContainer: execute make test
  TestContainer-->>Prow: publish test result
Loading

Possibly related PRs

  • openshift/release#82387: Adds comparable Prow Tide, plugin, LGTM, and trusted application configuration for another repository.

Suggested labels: lgtm, rehearsals-ack

Suggested reviewers: bear-redhat, droslean

🚥 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 clearly matches the main change: adding Prow CI configuration for openshift-online/gecko.
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 No Ginkgo test code changed; the PR only adds YAML/OWNERS config files, and a search found no It/Describe/Context/When titles.
Test Structure And Quality ✅ Passed PR only adds CI/Prow config files; no Ginkgo test code or test patterns were changed, so the test-structure checklist is not applicable.
Microshift Test Compatibility ✅ Passed Only Prow/ci-operator config and OWNERS YAML changed; no new Ginkgo test definitions or MicroShift-sensitive test code were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only adds CI/Prow YAML; no new Ginkgo e2e tests were introduced, so SNO compatibility review is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR only adds CI/Prow config and OWNERS files; no deployment manifests, controllers, or scheduling constraints (affinity/nodeSelector/tolerations/replicas) were introduced.
Ote Binary Stdout Contract ✅ Passed PR only changes Prow/ci-operator YAML and OWNERS files; no OTE binary or process-level stdout code was added.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR only adds CI/Prow config and OWNERS files; no new Ginkgo e2e test code or network logic was introduced.
No-Weak-Crypto ✅ Passed Touched files are CI/prow YAML and OWNERS only; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons were found.
Container-Privileges ✅ Passed Touched YAMLs contain no explicit privileged/hostPID/hostNetwork/hostIPC/SYS_ADMIN/allowPrivilegeEscalation/root security settings.
No-Sensitive-Data-In-Logs ✅ Passed PASS: PR only adds CI/Prow YAML and OWNERS files; no log statements or secret values, only standard secret references in job config.
✨ 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 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 added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 22, 2026

@coderabbitai coderabbitai Bot 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.

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 `@core-services/prow/02_config/openshift-online/gecko/_pluginconfig.yaml`:
- Around line 1-4: Update the require_self_approval setting in the approve
configuration for openshift-online/gecko from false to true, preserving the
existing repository mapping and configuration structure.
🪄 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: 98421cba-a5dc-494c-bb26-23b34f526c71

📥 Commits

Reviewing files that changed from the base of the PR and between 97b8c3b and 51b48c2.

📒 Files selected for processing (4)
  • ci-operator/config/openshift-online/gecko/OWNERS
  • ci-operator/config/openshift-online/gecko/openshift-online-gecko-main.yaml
  • core-services/prow/02_config/openshift-online/gecko/_pluginconfig.yaml
  • core-services/prow/02_config/openshift-online/gecko/_prowconfig.yaml

Comment on lines +1 to +4
approve:
- repos:
- openshift-online/gecko
require_self_approval: false

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.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Enable self-approval for this repository.

Set require_self_approval to true; the current false value conflicts with the expected OpenShift Online review strategy and can block the intended approval flow.

Based on learnings, OpenShift Online plugin configurations must set require_self_approval: true.

🤖 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 `@core-services/prow/02_config/openshift-online/gecko/_pluginconfig.yaml`
around lines 1 - 4, Update the require_self_approval setting in the approve
configuration for openshift-online/gecko from false to true, preserving the
existing repository mapping and configuration structure.

Source: Learnings

@jimdaga

jimdaga commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

/lgtm

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

apahim commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD dda1911 and 2 for PR HEAD 7286283 in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 855866f and 1 for PR HEAD 7286283 in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD dce68f2 and 0 for PR HEAD 7286283 in total

@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 23, 2026
@openshift-merge-bot openshift-merge-bot Bot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 23, 2026
@jimdaga

jimdaga commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

/lgtm

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

jimdaga commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

/pj-rehearse auto-ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@jimdaga

jimdaga commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

/pj-rehearse pull-ci-openshift-online-gecko-main-test

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

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

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
Validation Failed: {"resource":"IssueComment","code":"custom","field":"body","message":"body is too long (maximum is 65536 characters)"} - https://docs.github.com/rest/issues/comments#update-an-issue-comment

@openshift-ci openshift-ci Bot removed the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 24, 2026
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 24, 2026
Configure CI infrastructure for the gecko repository:
- CI operator config with build root and unit test job
- Generated Prow presubmit job
- Prow plugin and tide configuration
- OWNERS files for the gcp-hcp team

Co-Authored-By: Claude <noreply@anthropic.com>
@apahim

apahim commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

/lgtm

@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@apahim: you cannot LGTM your own PR.

Details

In response to this:

/lgtm

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.

The root Makefile runs `cd orlop && make test` as a sub-make,
which causes the GOTOOLCHAIN command-line override to be lost
(it becomes an env var in the child make, losing precedence over
the orlop Makefile's own assignment). Invoking the orlop Makefile
directly with `cd orlop && make GOTOOLCHAIN=auto test` ensures
the override has command-line precedence in the Makefile that
actually runs `go test`.

Co-Authored-By: Claude <noreply@anthropic.com>
@patjlm

patjlm commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@apahim

apahim commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse auto-ack

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

Copy link
Copy Markdown
Contributor

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

Use `GOTOOLCHAIN=auto make test` (inline env prefix) instead of
passing GOTOOLCHAIN as a Make variable. This sets the env var
directly on the make process and all its children, ensuring Go
sees it regardless of how GNU Make handles variable export on
RHEL. Follows the same pattern as OADP operator CI configs.

Co-Authored-By: Claude <noreply@anthropic.com>
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 28, 2026
@apahim

apahim commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse auto-ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

Temporary debug commit to inspect the Go toolchain environment
inside the CI container and understand why GOTOOLCHAIN overrides
are not taking effect.

Co-Authored-By: Claude <noreply@anthropic.com>
@apahim

apahim commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse auto-ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

Red Hat's patched Go (1.26.3-1.el9_8) ignores the GOTOOLCHAIN
environment variable — a RHEL-specific security measure to prevent
automatic toolchain downloads. The setting can only be changed
via $GOROOT/go.env. Patch it from local to auto before running
make test so Go can download the required 1.26.4 toolchain.

Co-Authored-By: Claude <noreply@anthropic.com>
@apahim

apahim commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

/retest-required

Remove GOTOOLCHAIN workarounds now that the gecko repo relaxes
go.mod from go 1.26.4 to go 1.26.0, which is compatible with
the Go 1.26.3 in the RHEL builder image.

Co-Authored-By: Claude <noreply@anthropic.com>
@apahim

apahim commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse auto-ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

The RHEL builder image sets GOFLAGS=-mod=vendor, which causes
vendoring errors since the gecko repo doesn't vendor dependencies.
Restore the unset GOFLAGS before make test.

Co-Authored-By: Claude <noreply@anthropic.com>
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@apahim: 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-online-gecko-main-test openshift-online/gecko presubmit Presubmit 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.

@apahim

apahim commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse auto-ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@apahim: 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 28, 2026
@patjlm

patjlm commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

/lgtm

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

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: apahim, jimdaga, patjlm

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 commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

@apahim: 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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit e9f9ac3 into openshift:main Jul 28, 2026
21 checks passed
@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

@apahim: Updated the following 2 configmaps:

  • config configmap in namespace ci at cluster core-ci using the following files:
    • key core-services-prow-02_config-openshift-online-gecko-_prowconfig.yaml using file core-services/prow/02_config/openshift-online/gecko/_prowconfig.yaml
  • config configmap in namespace ci at cluster app.ci using the following files:
    • key core-services-prow-02_config-openshift-online-gecko-_prowconfig.yaml using file core-services/prow/02_config/openshift-online/gecko/_prowconfig.yaml
Details

In response to this:

Summary

  • Register openshift-online/gecko in openshift/release with Prow CI for PR presubmit checks
  • ci-operator config with Go 1.26 builder and single make test entry point
  • Prow/Tide branch protection requiring ci/prow/test on main
  • Standard plugin config (approve, lgtm, external plugins) matching team conventions

Jira: GCP-918

Test plan

  • CI on this PR validates the config files (ci-operator-config, prow-config sanitization)
  • After merge, verify ci/prow/test triggers on PRs to openshift-online/gecko
  • Verify Tide is configured and branch protection is active on main

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Adds an OpenShift CI Operator (ci-operator) configuration for openshift-online/gecko on main, using a Go 1.26 builder image and a make test presubmit (runs in the src container after unset GOFLAGS), with CPU/memory requests and limits applied.
  • Introduces Prow/Tide configuration: enforces ci/prow/test checks on main, adds label-driven merge automation based on approved + lgtm, and filters out items missing required labels.
  • Updates Prow approval behavior where review actions count as LGTM (self-approval not required), includes the enabled plugin set, and restricts trigger actions to openshift-merge-bot.
  • Wires repo external Prow events to HTTP endpoints and adds a new presubmit job definition for main/main- branches.
  • Populates auto-generated OWNERS metadata for both CI operator config and job directories (with “DO NOT EDIT”).

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.

mrniranjan pushed a commit to mrniranjan/release that referenced this pull request Jul 28, 2026
* Add Prow CI configuration for openshift-online/gecko

Configure CI infrastructure for the gecko repository:
- CI operator config with build root and unit test job
- Generated Prow presubmit job
- Prow plugin and tide configuration
- OWNERS files for the gcp-hcp team

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: set GOTOOLCHAIN=auto for gecko CI to resolve Go version mismatch

The gecko repo's go.mod requires Go >= 1.26.4 but the builder image
(rhel-9-golang-1.26-openshift-4.23) ships Go 1.26.3 with GOTOOLCHAIN=local.
Setting GOTOOLCHAIN=auto allows Go to download the required toolchain.

Signed-off-by: Amador Pahim <apahim@redhat.com>
Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN override: pass as Make variable instead of env export

The Makefile in the gecko repo sets GOTOOLCHAIN=local, which
overrides the shell environment variable. GNU Make gives Makefile
assignments priority over environment variables. Passing it as a
Make command-line variable (make GOTOOLCHAIN=auto test) gives it
the highest precedence, ensuring auto-download of Go 1.26.4.

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN: invoke orlop Makefile directly with override

The root Makefile runs `cd orlop && make test` as a sub-make,
which causes the GOTOOLCHAIN command-line override to be lost
(it becomes an env var in the child make, losing precedence over
the orlop Makefile's own assignment). Invoking the orlop Makefile
directly with `cd orlop && make GOTOOLCHAIN=auto test` ensures
the override has command-line precedence in the Makefile that
actually runs `go test`.

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN: use inline env prefix on make command

Use `GOTOOLCHAIN=auto make test` (inline env prefix) instead of
passing GOTOOLCHAIN as a Make variable. This sets the env var
directly on the make process and all its children, ensuring Go
sees it regardless of how GNU Make handles variable export on
RHEL. Follows the same pattern as OADP operator CI configs.

Co-Authored-By: Claude <noreply@anthropic.com>

* Debug GOTOOLCHAIN: add diagnostics to understand CI env

Temporary debug commit to inspect the Go toolchain environment
inside the CI container and understand why GOTOOLCHAIN overrides
are not taking effect.

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN: patch go.env directly for RHEL Go

Red Hat's patched Go (1.26.3-1.el9_8) ignores the GOTOOLCHAIN
environment variable — a RHEL-specific security measure to prevent
automatic toolchain downloads. The setting can only be changed
via $GOROOT/go.env. Patch it from local to auto before running
make test so Go can download the required 1.26.4 toolchain.

Co-Authored-By: Claude <noreply@anthropic.com>

* Simplify gecko CI commands to plain make test

Remove GOTOOLCHAIN workarounds now that the gecko repo relaxes
go.mod from go 1.26.4 to go 1.26.0, which is compatible with
the Go 1.26.3 in the RHEL builder image.

Co-Authored-By: Claude <noreply@anthropic.com>

* Restore unset GOFLAGS for gecko CI

The RHEL builder image sets GOFLAGS=-mod=vendor, which causes
vendoring errors since the gecko repo doesn't vendor dependencies.
Restore the unset GOFLAGS before make test.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Signed-off-by: Amador Pahim <apahim@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
enxebre pushed a commit to enxebre/release that referenced this pull request Jul 29, 2026
* Add Prow CI configuration for openshift-online/gecko

Configure CI infrastructure for the gecko repository:
- CI operator config with build root and unit test job
- Generated Prow presubmit job
- Prow plugin and tide configuration
- OWNERS files for the gcp-hcp team

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: set GOTOOLCHAIN=auto for gecko CI to resolve Go version mismatch

The gecko repo's go.mod requires Go >= 1.26.4 but the builder image
(rhel-9-golang-1.26-openshift-4.23) ships Go 1.26.3 with GOTOOLCHAIN=local.
Setting GOTOOLCHAIN=auto allows Go to download the required toolchain.

Signed-off-by: Amador Pahim <apahim@redhat.com>
Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN override: pass as Make variable instead of env export

The Makefile in the gecko repo sets GOTOOLCHAIN=local, which
overrides the shell environment variable. GNU Make gives Makefile
assignments priority over environment variables. Passing it as a
Make command-line variable (make GOTOOLCHAIN=auto test) gives it
the highest precedence, ensuring auto-download of Go 1.26.4.

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN: invoke orlop Makefile directly with override

The root Makefile runs `cd orlop && make test` as a sub-make,
which causes the GOTOOLCHAIN command-line override to be lost
(it becomes an env var in the child make, losing precedence over
the orlop Makefile's own assignment). Invoking the orlop Makefile
directly with `cd orlop && make GOTOOLCHAIN=auto test` ensures
the override has command-line precedence in the Makefile that
actually runs `go test`.

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN: use inline env prefix on make command

Use `GOTOOLCHAIN=auto make test` (inline env prefix) instead of
passing GOTOOLCHAIN as a Make variable. This sets the env var
directly on the make process and all its children, ensuring Go
sees it regardless of how GNU Make handles variable export on
RHEL. Follows the same pattern as OADP operator CI configs.

Co-Authored-By: Claude <noreply@anthropic.com>

* Debug GOTOOLCHAIN: add diagnostics to understand CI env

Temporary debug commit to inspect the Go toolchain environment
inside the CI container and understand why GOTOOLCHAIN overrides
are not taking effect.

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix GOTOOLCHAIN: patch go.env directly for RHEL Go

Red Hat's patched Go (1.26.3-1.el9_8) ignores the GOTOOLCHAIN
environment variable — a RHEL-specific security measure to prevent
automatic toolchain downloads. The setting can only be changed
via $GOROOT/go.env. Patch it from local to auto before running
make test so Go can download the required 1.26.4 toolchain.

Co-Authored-By: Claude <noreply@anthropic.com>

* Simplify gecko CI commands to plain make test

Remove GOTOOLCHAIN workarounds now that the gecko repo relaxes
go.mod from go 1.26.4 to go 1.26.0, which is compatible with
the Go 1.26.3 in the RHEL builder image.

Co-Authored-By: Claude <noreply@anthropic.com>

* Restore unset GOFLAGS for gecko CI

The RHEL builder image sets GOFLAGS=-mod=vendor, which causes
vendoring errors since the gecko repo doesn't vendor dependencies.
Restore the unset GOFLAGS before make test.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Signed-off-by: Amador Pahim <apahim@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
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