Add Prow CI config for openshift-online/gecko - #82311
Conversation
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds ownership, CI test, Prow plugin, branch-protection, and Tide configurations for ChangesGecko repository onboarding
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
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (4)
ci-operator/config/openshift-online/gecko/OWNERSci-operator/config/openshift-online/gecko/openshift-online-gecko-main.yamlcore-services/prow/02_config/openshift-online/gecko/_pluginconfig.yamlcore-services/prow/02_config/openshift-online/gecko/_prowconfig.yaml
| approve: | ||
| - repos: | ||
| - openshift-online/gecko | ||
| require_self_approval: false |
There was a problem hiding this comment.
🎯 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
|
/lgtm |
|
/retest |
|
/lgtm |
|
/pj-rehearse auto-ack |
|
@jimdaga: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse pull-ci-openshift-online-gecko-main-test |
|
@jimdaga: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
Caution Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted. Error details |
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>
|
/lgtm |
|
@apahim: you cannot LGTM your own PR. DetailsIn response to this:
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>
|
/lgtm |
|
/pj-rehearse auto-ack |
|
@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>
|
/pj-rehearse auto-ack |
|
@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>
|
/pj-rehearse auto-ack |
|
@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>
|
/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>
|
/pj-rehearse auto-ack |
|
@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>
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse auto-ack |
|
@apahim: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/lgtm |
|
[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 DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@apahim: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
@apahim: Updated the following 2 configmaps:
DetailsIn response to this:
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. |
* 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>
* 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>
Summary
openshift-online/geckoin openshift/release with Prow CI for PR presubmit checksmake testentry pointci/prow/testonmainJira: GCP-918
Test plan
ci/prow/testtriggers on PRs toopenshift-online/geckomain🤖 Generated with Claude Code
Summary by CodeRabbit
ci-operator) configuration foropenshift-online/geckoonmain, using a Go 1.26 builder image and amake testpresubmit (runs in thesrccontainer afterunset GOFLAGS), with CPU/memory requests and limits applied.ci/prow/testchecks onmain, adds label-driven merge automation based onapproved+lgtm, and filters out items missing required labels.openshift-merge-bot.main/main-branches.OWNERSmetadata for both CI operator config and job directories (with “DO NOT EDIT”).