Skip to content

Enable PR-based testing for openshift-pipelines/performance#81184

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
siddardh-ra:enable-pr-testing-performance
Jun 29, 2026
Merged

Enable PR-based testing for openshift-pipelines/performance#81184
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
siddardh-ra:enable-pr-testing-performance

Conversation

@siddardh-ra

@siddardh-ra siddardh-ra commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

This change allows performance test jobs to validate changes before merging:

  • Presubmit jobs (triggered from performance repo PRs) now test the PR's code
  • Rehearse jobs (testing CI config changes) continue using main branch
  • Periodic and postsubmit jobs continue using main branch

Implementation uses the industry-standard pattern (JOB_TYPE check) matching:

  • redhat-performance/backstage-performance
  • redhat-appstudio/load-test
  • konflux-ci/install-konflux

Benefits:

  • Validate performance test changes before merge
  • Reduce iteration cycles (no need for multiple PRs)
  • Maintain stability for CI config testing (rehearse jobs)

Technical details:

  • Check JOB_TYPE == "presubmit" to identify PR testing jobs
  • Exclude rehearse jobs with JOB_NAME pattern check
  • Always clone main first, then conditionally switch to PR branch
  • Use FETCH_HEAD for clean checkout of PR code

Summary by CodeRabbit

This PR updates the OpenShift Pipelines performance CI steps so presubmit jobs for the openshift-pipelines/performance repository test the actual pull request changes instead of always using main.

In practice:

  • Presubmit runs now clone main first, then fetch and checkout the PR head commit using FETCH_HEAD.
  • Rehearse jobs remain pinned to main, so CI configuration validation behavior stays stable.
  • Periodic and postsubmit jobs also continue using main.

This lets performance changes be validated before merge without affecting the existing CI rehearsal and scheduled job flows.

This change allows performance test jobs to validate changes before merging:
- Presubmit jobs (triggered from performance repo PRs) now test the PR's code
- Rehearse jobs (testing CI config changes) continue using main branch
- Periodic and postsubmit jobs continue using main branch

Implementation uses the industry-standard pattern (JOB_TYPE check) matching:
- redhat-performance/backstage-performance
- redhat-appstudio/load-test
- konflux-ci/install-konflux

Benefits:
- Validate performance test changes before merge
- Reduce iteration cycles (no need for multiple PRs)
- Maintain stability for CI config testing (rehearse jobs)

Technical details:
- Check JOB_TYPE == "presubmit" to identify PR testing jobs
- Exclude rehearse jobs with JOB_NAME pattern check
- Always clone main first, then conditionally switch to PR branch
- Use FETCH_HEAD for clean checkout of PR code
@coderabbitai

coderabbitai Bot commented Jun 28, 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: bea27e36-20c4-417e-ba54-cbf74e5e3238

📥 Commits

Reviewing files that changed from the base of the PR and between f7054fc and 48aded0.

📒 Files selected for processing (2)
  • ci-operator/step-registry/openshift-pipelines/max-concurrency/openshift-pipelines-max-concurrency-commands.sh
  • ci-operator/step-registry/openshift-pipelines/scaling-pipelines/openshift-pipelines-scaling-pipelines-commands.sh

Walkthrough

Two CI pipeline command scripts (max-concurrency and scaling-pipelines) each gain a conditional block that, for presubmit jobs (excluding rehearse-*), fetches the PR head ref from origin/pull/${PULL_NUMBER}/head and checks it out into a local pr-${PULL_NUMBER} branch before test execution.

Changes

PR Branch Checkout for Presubmit Jobs

Layer / File(s) Summary
Presubmit PR branch fetch and checkout
ci-operator/step-registry/openshift-pipelines/max-concurrency/openshift-pipelines-max-concurrency-commands.sh, ci-operator/step-registry/openshift-pipelines/scaling-pipelines/openshift-pipelines-scaling-pipelines-commands.sh
Both scripts add a 7-line conditional block: when JOB_TYPE=presubmit and JOB_NAME does not match rehearse-*, git fetch retrieves pull/${PULL_NUMBER}/head and git checkout creates a local pr-${PULL_NUMBER} branch from FETCH_HEAD.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 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 clearly summarizes the main change: enabling pull request-based testing for openshift-pipelines/performance.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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 two bash command scripts; no Ginkgo title constructs were added or modified.
Test Structure And Quality ✅ Passed PR only changes Bash step-registry scripts; no Ginkgo test code was added or modified, so this checklist is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes bash step scripts, so MicroShift test compatibility is not implicated.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only updates Bash ci-operator command scripts, so SNO compatibility is not implicated.
Topology-Aware Scheduling Compatibility ✅ Passed Only CI bash job scripts changed; no deployment manifests, controllers, replicas, node selectors, affinity, or scheduling constraints were introduced.
Ote Binary Stdout Contract ✅ Passed PASS: The PR only changes bash step scripts; no Go main/TestMain/BeforeSuite code or OTE binaries were touched, and the added echo is job logging, not test-binary stdout.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only updates shell step-registry job scripts; no new Ginkgo e2e tests or IPv4/external-connectivity assertions were added.
No-Weak-Crypto ✅ Passed The touched scripts only add presubmit git checkout logic; no weak ciphers, custom crypto, or secret/token comparisons are present.
Container-Privileges ✅ Passed PR only edits two Bash command scripts; no YAML/K8s manifests or privilege settings (privileged, hostPID/Network/IPC, allowPrivilegeEscalation, SYS_ADMIN) were added.
No-Sensitive-Data-In-Logs ✅ Passed Added logging only announces switching to PR #${PULL_NUMBER}; no passwords, tokens, PII, or hostnames are logged.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci openshift-ci Bot requested review from jhutar and khrm June 28, 2026 18:19
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@siddardh-ra: 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-pipelines-performance-main-max-concurrency-downstream-1-12 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-600-60 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-700-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1000-100 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-100 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1000-60 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-60 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-80 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-90 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1000-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1000-80 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1000-90 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-600-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-800-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-900-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1100-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1200-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1300-70 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-120 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-140 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-160 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-180 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-13-1000-200 openshift-pipelines/performance presubmit Registry content changed
pull-ci-openshift-pipelines-performance-main-max-concurrency-downstream-1-12-1000-70-noreqlim openshift-pipelines/performance presubmit Registry content changed

A total of 168 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here
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.

@siddardh-ra

Copy link
Copy Markdown
Contributor Author

/lgtm
/approve

@openshift-ci

openshift-ci Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

@siddardh-ra: you cannot LGTM your own PR.

Details

In response to this:

/lgtm
/approve

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.

@siddardh-ra

Copy link
Copy Markdown
Contributor Author

/ok-to-test

@openshift-ci openshift-ci Bot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Jun 28, 2026
@openshift-ci

openshift-ci Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

@siddardh-ra: 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-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 29, 2026
@openshift-ci

openshift-ci Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jhutar, siddardh-ra

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 Jun 29, 2026
@siddardh-ra

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@siddardh-ra: 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 Jun 29, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 93185e3 into openshift:main Jun 29, 2026
10 checks passed
krisnababu pushed a commit to oharan2/release that referenced this pull request Jul 3, 2026
…t#81184)

This change allows performance test jobs to validate changes before merging:
- Presubmit jobs (triggered from performance repo PRs) now test the PR's code
- Rehearse jobs (testing CI config changes) continue using main branch
- Periodic and postsubmit jobs continue using main branch

Implementation uses the industry-standard pattern (JOB_TYPE check) matching:
- redhat-performance/backstage-performance
- redhat-appstudio/load-test
- konflux-ci/install-konflux

Benefits:
- Validate performance test changes before merge
- Reduce iteration cycles (no need for multiple PRs)
- Maintain stability for CI config testing (rehearse jobs)

Technical details:
- Check JOB_TYPE == "presubmit" to identify PR testing jobs
- Exclude rehearse jobs with JOB_NAME pattern check
- Always clone main first, then conditionally switch to PR branch
- Use FETCH_HEAD for clean checkout of PR code
andrej1991 pushed a commit to andrej1991/release that referenced this pull request Jul 6, 2026
…t#81184)

This change allows performance test jobs to validate changes before merging:
- Presubmit jobs (triggered from performance repo PRs) now test the PR's code
- Rehearse jobs (testing CI config changes) continue using main branch
- Periodic and postsubmit jobs continue using main branch

Implementation uses the industry-standard pattern (JOB_TYPE check) matching:
- redhat-performance/backstage-performance
- redhat-appstudio/load-test
- konflux-ci/install-konflux

Benefits:
- Validate performance test changes before merge
- Reduce iteration cycles (no need for multiple PRs)
- Maintain stability for CI config testing (rehearse jobs)

Technical details:
- Check JOB_TYPE == "presubmit" to identify PR testing jobs
- Exclude rehearse jobs with JOB_NAME pattern check
- Always clone main first, then conditionally switch to PR branch
- Use FETCH_HEAD for clean checkout of PR code
TimurMP pushed a commit to TimurMP/release that referenced this pull request Jul 8, 2026
…t#81184)

This change allows performance test jobs to validate changes before merging:
- Presubmit jobs (triggered from performance repo PRs) now test the PR's code
- Rehearse jobs (testing CI config changes) continue using main branch
- Periodic and postsubmit jobs continue using main branch

Implementation uses the industry-standard pattern (JOB_TYPE check) matching:
- redhat-performance/backstage-performance
- redhat-appstudio/load-test
- konflux-ci/install-konflux

Benefits:
- Validate performance test changes before merge
- Reduce iteration cycles (no need for multiple PRs)
- Maintain stability for CI config testing (rehearse jobs)

Technical details:
- Check JOB_TYPE == "presubmit" to identify PR testing jobs
- Exclude rehearse jobs with JOB_NAME pattern check
- Always clone main first, then conditionally switch to PR branch
- Use FETCH_HEAD for clean checkout of PR code
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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants