Skip to content

prowgen: allow ci-operator config to override .config.prowgen#5119

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
Prucek:prowgen-overrides
Apr 22, 2026
Merged

prowgen: allow ci-operator config to override .config.prowgen#5119
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
Prucek:prowgen-overrides

Conversation

@Prucek

@Prucek Prucek commented Apr 21, 2026

Copy link
Copy Markdown
Member

Summary

  • Add ProwgenOverrides to ci-operator config (prowgen field on ReleaseBuildConfiguration) so that ci-operator config takes precedence over all other prowgen configuration layers (org-level and repo-level .config.prowgen files)
  • Add per-test disable_rehearsal on TestStepConfiguration for fine-grained rehearsal control
  • Add ApplyOverrides method as the single merge point where ci-operator config overrides .config.prowgen values
  • First step toward deprecating .config.prowgen by allowing its features to be controlled directly from ci-operator config

Test plan

  • Unit tests for global rehearsal disable via ci-operator config
  • Unit test for ci-operator config taking precedence over .config.prowgen
  • Unit test for per-test disable_rehearsal
  • All existing tests pass (go test ./pkg/prowgen/...)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added release-level and per-test controls to disable rehearsals, allowing teams to turn off rehearsals for an entire release or for individual tests for finer-grained execution control.
  • Tests

    • Added unit tests and test fixtures to validate rehearsal-disable behavior, precedence of release-level overrides, and per-test disablement scenarios.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@coderabbitai

coderabbitai Bot commented Apr 21, 2026

Copy link
Copy Markdown

Walkthrough

Adds configuration to disable Prow rehearsals at the release level and per-test level, updates job generation to honor these overrides, and adds tests plus fixtures to validate the behavior.

Changes

Cohort / File(s) Summary
Type definitions
pkg/api/types.go
Added ProwgenOverrides with DisableRehearsals; extended ReleaseBuildConfiguration with Prowgen *ProwgenOverrides; added DisableRehearsal to TestStepConfiguration.
Job generation logic
pkg/prowgen/prowgen.go
GenerateJobs copies config, applies Prowgen.DisableRehearsals to force rehearsals.DisableAll, and factors test DisableRehearsal into per-test rehearsal decisions.
Tests
pkg/prowgen/prowgen_test.go
Appended three table-driven test cases covering: release-level disable, ci-operator override precedence, and per-test disable behavior.
Test fixtures
pkg/prowgen/testdata/...zz_fixture_TestGenerateJobs_*.yaml
Added three presubmit fixture YAMLs used by the new test cases (entries with always_run: false and rehearsal-related labels).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 10 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Ipv6 And Disconnected Network Test Compatibility ❓ Inconclusive The PR changes appear to involve prowgen test files, but without access to actual repository files and git diff output, cannot definitively confirm whether Ginkgo e2e tests with IPv4 assumptions or external connectivity requirements are present. Execute the provided shell scripts against the actual PR repository to inspect test files, imports, and test structures for Ginkgo framework usage and networking-related test patterns.
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: enabling ci-operator config to override .config.prowgen settings through new ProwgenOverrides configuration.
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 uses standard Go table-driven tests, not Ginkgo tests. Custom check is for Ginkgo test names with dynamic content.
Test Structure And Quality ✅ Passed PR uses standard Go testing framework with table-driven tests, not Ginkgo patterns. Custom check for Ginkgo test code is not applicable.
Microshift Test Compatibility ✅ Passed This pull request does not add any Ginkgo e2e tests; only unit tests using standard Go testing framework.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This pull request does not add any Ginkgo e2e tests. Changes are confined to configuration type definitions and internal code generation logic with standard Go unit tests.
Topology-Aware Scheduling Compatibility ✅ Passed This pull request does not introduce any Kubernetes pod scheduling constraints or topology-aware requirements. The changes are confined to ci-operator configuration types and Prow job generation logic.
Ote Binary Stdout Contract ✅ Passed The PR modifies only struct definitions and business logic without introducing any process-level stdout writes.

✏️ 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 pruan-rht and smg247 April 21, 2026 12:10
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 21, 2026
Comment thread pkg/api/types.go Outdated
}

// ProwgenOverrides holds prowgen-related settings from the ci-operator config
// that override the corresponding .config.prowgen values.

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.

The comment is irrelevant.

Comment thread pkg/api/types.go

// ProwgenOverrides holds prowgen-related settings from the ci-operator config
// that override the corresponding .config.prowgen values.
type ProwgenOverrides struct {

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.

No need to introduce this as an override option.

Comment thread pkg/api/types.go Outdated
Metadata Metadata `json:"zz_generated_metadata"`

// Prowgen holds prowgen-related overrides from the ci-operator config that
// take precedence over .config.prowgen values.

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.

The comment is irrelevant as well. This stanza should include the prowgen options either way. The config.prowgen is not related now, and also it will be deprecated.

Comment thread pkg/api/types.go Outdated
NodeArchitecture NodeArchitecture `json:"node_architecture,omitempty"`

// DisableRehearsal prevents this specific test from being picked up for rehearsals.
DisableRehearsal *bool `json:"disable_rehearsal,omitempty"`

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.

Any particular reason why this is a pointer?

Comment thread pkg/config/load.go Outdated

// ApplyOverrides applies ci-operator config overrides on top of .config.prowgen values.
// Fields set in the ci-operator config take precedence.
func (p *Prowgen) ApplyOverrides(overrides *cioperatorapi.ProwgenOverrides) {

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.

There are no overrides. The logic already exists, and it already overrides different layers. You should just mutate that logic and add the ci-op config in the equation.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
pkg/prowgen/prowgen_test.go (1)

689-732: Add an explicit disable_rehearsals: false precedence case.

The new cases are good, but they only validate the true path. Please add a table case where repo config has rehearsals.disable_all: true and ci-operator sets prowgen.disable_rehearsals: false, so precedence is verified in both directions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/prowgen/prowgen_test.go` around lines 689 - 732, Add a test table case
that verifies ci-operator false overrides repo config true: create a new entry
in the existing test cases (similar style to the surrounding cases) with id like
"ci-operator config false takes precedence over prowgen config", set config to
&ciop.ReleaseBuildConfiguration{Prowgen:
&ciop.ProwgenOverrides{DisableRehearsals: utilpointer.Bool(false)}, Tests: [...]
} and set repoInfo to &ProwgenInfo{Config: config.Prowgen{Rehearsals:
config.Rehearsals{DisableAll: true}}, Metadata:
ciop.Metadata{Org:"organization",Repo:"repository",Branch:"branch"}}; assert the
resulting behavior matches ci-operator taking precedence (i.e., rehearsals not
globally disabled). Ensure you use the same test field names
(Prowgen.DisableRehearsals and ProwgenInfo.Config.Rehearsals.DisableAll) so the
table covers both true→false precedence directions.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@pkg/config/load.go`:
- Around line 107-113: The ApplyOverrides method currently only applies
overrides.DisableRehearsals when true, so an explicit false cannot clear
p.Rehearsals.DisableAll; change the logic in Prowgen.ApplyOverrides to check for
non-nil overrides.DisableRehearsals and set p.Rehearsals.DisableAll =
*overrides.DisableRehearsals (assign the dereferenced boolean directly) so the
repo-level value is properly overridden by both true and false from ci-operator.

---

Nitpick comments:
In `@pkg/prowgen/prowgen_test.go`:
- Around line 689-732: Add a test table case that verifies ci-operator false
overrides repo config true: create a new entry in the existing test cases
(similar style to the surrounding cases) with id like "ci-operator config false
takes precedence over prowgen config", set config to
&ciop.ReleaseBuildConfiguration{Prowgen:
&ciop.ProwgenOverrides{DisableRehearsals: utilpointer.Bool(false)}, Tests: [...]
} and set repoInfo to &ProwgenInfo{Config: config.Prowgen{Rehearsals:
config.Rehearsals{DisableAll: true}}, Metadata:
ciop.Metadata{Org:"organization",Repo:"repository",Branch:"branch"}}; assert the
resulting behavior matches ci-operator taking precedence (i.e., rehearsals not
globally disabled). Ensure you use the same test field names
(Prowgen.DisableRehearsals and ProwgenInfo.Config.Rehearsals.DisableAll) so the
table covers both true→false precedence directions.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 14b94b5c-a84c-47b8-a871-28e3c2731288

📥 Commits

Reviewing files that changed from the base of the PR and between fc0afd3 and a1362bb.

📒 Files selected for processing (7)
  • pkg/api/types.go
  • pkg/config/load.go
  • pkg/prowgen/prowgen.go
  • pkg/prowgen/prowgen_test.go
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_overrides_prowgen_rehearsals.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_takes_precedence_over_prowgen_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_per_test_disable_rehearsal_from_ci_operator_config.yaml

Comment thread pkg/config/load.go Outdated
Comment on lines +107 to +113
func (p *Prowgen) ApplyOverrides(overrides *cioperatorapi.ProwgenOverrides) {
if overrides == nil {
return
}
if overrides.DisableRehearsals != nil && *overrides.DisableRehearsals {
p.Rehearsals.DisableAll = true
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

DisableRehearsals precedence is currently one-way (true-only).

On Line 111, overrides only apply when the value is true. That means an explicit ci-operator disable_rehearsals: false cannot override repo-level rehearsals.disable_all: true, which breaks full precedence semantics.

💡 Proposed fix
 func (p *Prowgen) ApplyOverrides(overrides *cioperatorapi.ProwgenOverrides) {
 	if overrides == nil {
 		return
 	}
-	if overrides.DisableRehearsals != nil && *overrides.DisableRehearsals {
-		p.Rehearsals.DisableAll = true
-	}
+	if overrides.DisableRehearsals != nil {
+		p.Rehearsals.DisableAll = *overrides.DisableRehearsals
+	}
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
func (p *Prowgen) ApplyOverrides(overrides *cioperatorapi.ProwgenOverrides) {
if overrides == nil {
return
}
if overrides.DisableRehearsals != nil && *overrides.DisableRehearsals {
p.Rehearsals.DisableAll = true
}
func (p *Prowgen) ApplyOverrides(overrides *cioperatorapi.ProwgenOverrides) {
if overrides == nil {
return
}
if overrides.DisableRehearsals != nil {
p.Rehearsals.DisableAll = *overrides.DisableRehearsals
}
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/config/load.go` around lines 107 - 113, The ApplyOverrides method
currently only applies overrides.DisableRehearsals when true, so an explicit
false cannot clear p.Rehearsals.DisableAll; change the logic in
Prowgen.ApplyOverrides to check for non-nil overrides.DisableRehearsals and set
p.Rehearsals.DisableAll = *overrides.DisableRehearsals (assign the dereferenced
boolean directly) so the repo-level value is properly overridden by both true
and false from ci-operator.

@Prucek Prucek force-pushed the prowgen-overrides branch 2 times, most recently from 1b8b902 to 838c022 Compare April 21, 2026 12:53

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
pkg/prowgen/prowgen_test.go (1)

703-718: Add the inverse precedence case (false over true) for completeness.

Line 704 validates true precedence over repo config, but there is no paired assertion for explicit DisableRehearsals: false overriding repo DisableAll: true. Adding that case will lock in both branches of precedence semantics.

🧪 Suggested test case addition
+		{
+			id: "ci-operator config false takes precedence over repo disable-all true",
+			config: &ciop.ReleaseBuildConfiguration{
+				Prowgen: &ciop.ProwgenOverrides{DisableRehearsals: utilpointer.Bool(false)},
+				Tests: []ciop.TestStepConfiguration{
+					{As: "unit", ContainerTestConfiguration: &ciop.ContainerTestConfiguration{From: "bin"}},
+				},
+			},
+			repoInfo: &ProwgenInfo{
+				Config: config.Prowgen{Rehearsals: config.Rehearsals{DisableAll: true}},
+				Metadata: ciop.Metadata{
+					Org:    "organization",
+					Repo:   "repository",
+					Branch: "branch",
+				}},
+		},
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/prowgen/prowgen_test.go` around lines 703 - 718, Add a complementary test
case to verify the inverse precedence: create a ciop.ReleaseBuildConfiguration
with Prowgen: &ciop.ProwgenOverrides{DisableRehearsals: utilpointer.Bool(false)}
and a ProwgenInfo whose Config.Prowgen.Rehearsals.DisableAll is true (and
similar Metadata/Tests as the existing case) and assert that the explicit
DisableRehearsals=false in the job config takes precedence over the repo-level
DisableAll=true; update the test table in prowgen_test.go (the entries using
ciop.ReleaseBuildConfiguration, ciop.ProwgenOverrides, ProwgenInfo and
config.Prowgen.Rehearsals.DisableAll) by adding this case so both true->false
and false->true precedence branches are covered.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@pkg/prowgen/prowgen_test.go`:
- Around line 703-718: Add a complementary test case to verify the inverse
precedence: create a ciop.ReleaseBuildConfiguration with Prowgen:
&ciop.ProwgenOverrides{DisableRehearsals: utilpointer.Bool(false)} and a
ProwgenInfo whose Config.Prowgen.Rehearsals.DisableAll is true (and similar
Metadata/Tests as the existing case) and assert that the explicit
DisableRehearsals=false in the job config takes precedence over the repo-level
DisableAll=true; update the test table in prowgen_test.go (the entries using
ciop.ReleaseBuildConfiguration, ciop.ProwgenOverrides, ProwgenInfo and
config.Prowgen.Rehearsals.DisableAll) by adding this case so both true->false
and false->true precedence branches are covered.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 6186bea1-e55d-4ea5-aaa6-0ccdb9ed9533

📥 Commits

Reviewing files that changed from the base of the PR and between a1362bb and 838c022.

📒 Files selected for processing (6)
  • pkg/api/types.go
  • pkg/prowgen/prowgen.go
  • pkg/prowgen/prowgen_test.go
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_overrides_prowgen_rehearsals.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_takes_precedence_over_prowgen_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_per_test_disable_rehearsal_from_ci_operator_config.yaml
✅ Files skipped from review due to trivial changes (3)
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_takes_precedence_over_prowgen_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_overrides_prowgen_rehearsals.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_per_test_disable_rehearsal_from_ci_operator_config.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/prowgen/prowgen.go
  • pkg/api/types.go

Add ProwgenOverrides to ci-operator config so that it takes precedence
over all other prowgen configuration layers (org-level and repo-level
.config.prowgen files). This is the first step toward deprecating
.config.prowgen by allowing its features to be controlled directly
from ci-operator config.

- Add prowgen field to ReleaseBuildConfiguration with disable_rehearsals
- Add per-test disable_rehearsal on TestStepConfiguration
- Add ApplyOverrides method as the single merge point where ci-operator
  config overrides .config.prowgen values

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Prucek Prucek force-pushed the prowgen-overrides branch from 838c022 to 16a106b Compare April 21, 2026 13:11

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 the current code and only fix it if needed.

Inline comments:
In `@pkg/prowgen/prowgen.go`:
- Around line 46-48: The current check only flips
prowgenConfig.Rehearsals.DisableAll when configSpec.Prowgen.DisableRehearsals is
true, preventing ci-operator from overriding a repo/org default back to false;
change the logic in the block that references configSpec.Prowgen and
prowgenConfig.Rehearsals.DisableAll so that when configSpec.Prowgen is non-nil
you assign prowgenConfig.Rehearsals.DisableAll =
configSpec.Prowgen.DisableRehearsals (i.e. honor true or false from
ci-operator), rather than only setting it on true, ensuring ci-operator takes
precedence.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 73caf283-2215-4b06-9680-90ff00480781

📥 Commits

Reviewing files that changed from the base of the PR and between 838c022 and 16a106b.

⛔ Files ignored due to path filters (2)
  • pkg/api/zz_generated.deepcopy.go is excluded by !**/zz_generated*
  • pkg/webreg/zz_generated.ci_operator_reference.go is excluded by !**/zz_generated*
📒 Files selected for processing (6)
  • pkg/api/types.go
  • pkg/prowgen/prowgen.go
  • pkg/prowgen/prowgen_test.go
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_overrides_prowgen_rehearsals.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_takes_precedence_over_prowgen_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_per_test_disable_rehearsal_from_ci_operator_config.yaml
✅ Files skipped from review due to trivial changes (3)
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_overrides_prowgen_rehearsals.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_per_test_disable_rehearsal_from_ci_operator_config.yaml
  • pkg/prowgen/testdata/zz_fixture_TestGenerateJobs_ci_operator_config_takes_precedence_over_prowgen_config.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/prowgen/prowgen_test.go
  • pkg/api/types.go

Comment thread pkg/prowgen/prowgen.go
Comment on lines +46 to +48
if configSpec.Prowgen != nil && configSpec.Prowgen.DisableRehearsals {
prowgenConfig.Rehearsals.DisableAll = true
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

disable_rehearsals precedence is currently one-way

On Line 46, the override only applies when ci-operator sets disable_rehearsals: true. That means ci-operator config cannot override repo/org config back to false, which conflicts with “ci-operator takes precedence”.

Proposed fix
-	if configSpec.Prowgen != nil && configSpec.Prowgen.DisableRehearsals {
-		prowgenConfig.Rehearsals.DisableAll = true
-	}
+	if configSpec.Prowgen != nil {
+		prowgenConfig.Rehearsals.DisableAll = configSpec.Prowgen.DisableRehearsals
+	}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if configSpec.Prowgen != nil && configSpec.Prowgen.DisableRehearsals {
prowgenConfig.Rehearsals.DisableAll = true
}
if configSpec.Prowgen != nil {
prowgenConfig.Rehearsals.DisableAll = configSpec.Prowgen.DisableRehearsals
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/prowgen/prowgen.go` around lines 46 - 48, The current check only flips
prowgenConfig.Rehearsals.DisableAll when configSpec.Prowgen.DisableRehearsals is
true, preventing ci-operator from overriding a repo/org default back to false;
change the logic in the block that references configSpec.Prowgen and
prowgenConfig.Rehearsals.DisableAll so that when configSpec.Prowgen is non-nil
you assign prowgenConfig.Rehearsals.DisableAll =
configSpec.Prowgen.DisableRehearsals (i.e. honor true or false from
ci-operator), rather than only setting it on true, ensuring ci-operator takes
precedence.

@droslean

Copy link
Copy Markdown
Member

/override ci/prow/images
/override ci/prow/e2e

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

openshift-ci Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: droslean, Prucek

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-merge-bot

Copy link
Copy Markdown
Contributor

Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage.

@openshift-ci

openshift-ci Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

@droslean: Overrode contexts on behalf of droslean: ci/prow/e2e, ci/prow/images

Details

In response to this:

/override ci/prow/images
/override ci/prow/e2e

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.

@openshift-ci

openshift-ci Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

@Prucek: The following test 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/prow/breaking-changes 16a106b link false /test breaking-changes

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

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants