Skip to content

Enroll assisted-service and ovn-kubernetes in pipeline controller LGTM mode - #81671

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jmguzik:multi-e2e-pipeline
Jul 9, 2026
Merged

Enroll assisted-service and ovn-kubernetes in pipeline controller LGTM mode#81671
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jmguzik:multi-e2e-pipeline

Conversation

@jmguzik

@jmguzik jmguzik commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Convert e2e tests across versions 4.12+ to use the pipeline controller second-stage model. Changes applied to both openshift and openshift-priv orgs.

  • skip_if_only_changed → pipeline_skip_if_only_changed
  • run_if_changed → pipeline_run_if_changed
  • Set always_run: false on required e2e tests
  • Add both repos (both orgs) to lgtm-config.yaml

Made with Cursor

Summary by CodeRabbit

This PR updates OpenShift CI configuration for assisted-service and ovn-kubernetes to use pipeline-controller second-stage handling across supported release branches.

Practically, it:

  • switches affected jobs from skip_if_only_changed to pipeline_skip_if_only_changed
  • marks required e2e jobs with always_run: false
  • updates both openshift and openshift-priv CI configs across 4.12+ and 5.x release branches
  • expands LGTM coverage by adding both assisted-service and ovn-kubernetes repositories for both organizations in lgtm-config.yaml

Overall, the change aligns these repos’ CI jobs with the newer pipeline-controller model and keeps the existing skip regex behavior intact while changing how job execution is gated.

…M mode

Convert e2e tests across versions 4.12+ to use the pipeline controller
second-stage model. Changes applied to both openshift and openshift-priv
orgs.

- skip_if_only_changed → pipeline_skip_if_only_changed
- run_if_changed → pipeline_run_if_changed
- Set always_run: false on required e2e tests
- Add both repos (both orgs) to lgtm-config.yaml

Made with Cursor
Signed-off-by: Jakub Guzik <jguzik@redhat.com>
@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Applies a mechanical CI configuration update across ci-operator config files for the assisted-service and ovn-kubernetes repos (both openshift and openshift-priv orgs): renames the skip_if_only_changed field to pipeline_skip_if_only_changed and adds/adjusts always_run: false on many e2e test job definitions. Also adds assisted-service and ovn-kubernetes to the pipeline-controller lgtm-config repo allowlists for both orgs.

Changes

Assisted-service CI job scheduling

Layer / File(s) Summary
openshift-priv/assisted-service configs
ci-operator/config/openshift-priv/assisted-service/*.yaml
Adds always_run: false and renames skip_if_only_changed to pipeline_skip_if_only_changed for e2e-agent-compact-ipv4 and e2e-agent-compact-ipv4-iso-no-registry steps across master and release-4.12 through 5.1 files.
openshift/assisted-service configs
ci-operator/config/openshift/assisted-service/*.yaml
Applies the same always_run and skip-condition key updates across the corresponding master and release-4.12 through 5.1 files.

OVN-Kubernetes CI job scheduling

Layer / File(s) Summary
openshift-priv/ovn-kubernetes: main through 4.16
ci-operator/config/openshift-priv/ovn-kubernetes/*-main.yaml, *-4.12.yaml ... *-4.16.yaml
Adds always_run: false and/or renames the skip-condition key for numerous e2e jobs (edge-zones, local-gateway, metal-ipi, upgrade, gateway-mode migration, hypershift, serial, etc.).
openshift-priv/ovn-kubernetes: 4.17-sandbox
ci-operator/config/openshift-priv/ovn-kubernetes/*-4.17.yaml ... *-5.1.yaml, *-sandbox-release-4.16/4.17.yaml
Continues the same field updates across later releases, techpreview jobs, and sandbox variants.
openshift/ovn-kubernetes: main through 4.16
ci-operator/config/openshift/ovn-kubernetes/*-main.yaml, *-4.12.yaml ... *-4.16.yaml (+upgrade-from-stable)
Adds always_run: false and skip-condition renames to core release and paired upgrade-from-stable job configs.
openshift/ovn-kubernetes: 4.17-4.20
ci-operator/config/openshift/ovn-kubernetes/*-4.17.yaml ... *-4.20.yaml (+upgrade-from-stable, periodics)
Adds always_run: false and renames skip-condition keys across release, upgrade, and periodics job files.
openshift/ovn-kubernetes: 4.21-5.1
ci-operator/config/openshift/ovn-kubernetes/*-4.21.yaml ... *-5.1.yaml (+upgrade-from-stable, periodics)
Continues the field updates including techpreview jobs across these releases.
openshift/ovn-kubernetes: sandbox 4.16-4.17
ci-operator/config/openshift/ovn-kubernetes/*-sandbox-release-4.16/4.17.yaml (+upgrade-from-stable)
Adds always_run: false to sandbox release and paired upgrade job configs.

Pipeline-controller LGTM allowlist

Layer / File(s) Summary
Repo allowlist additions
core-services/pipeline-controller/lgtm-config.yaml
Adds assisted-service and ovn-kubernetes to the repos lists for both the openshift and openshift-priv orgs.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Suggested labels: lgtm

Suggested reviewers: linoyaslan, gamli75

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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 9, 2026
@openshift-ci
openshift-ci Bot requested review from danilo-gemoli and deepsm007 July 9, 2026 11:21
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@jmguzik: 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-service-release-4.23-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.23-e2e-agent-compact-ipv4-iso-no-registry openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.13-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.19-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.21-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.21-e2e-agent-compact-ipv4-iso-no-registry openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-5.1-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-5.1-e2e-agent-compact-ipv4-iso-no-registry openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-5.0-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-5.0-e2e-agent-compact-ipv4-iso-no-registry openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.20-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.15-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.22-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.22-e2e-agent-compact-ipv4-iso-no-registry openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.16-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.14-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.17-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.18-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-master-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-master-e2e-agent-compact-ipv4-iso-no-registry openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-assisted-service-release-4.12-e2e-agent-compact-ipv4 openshift/assisted-service presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.21-4.21-upgrade-from-stable-4.20-e2e-aws-ovn-upgrade openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.21-4.21-upgrade-from-stable-4.20-e2e-aws-ovn-upgrade-ipsec openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.21-4.21-upgrade-from-stable-4.20-e2e-gcp-ovn-rt-upgrade openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.16-4.16-upgrade-from-stable-4.15-e2e-aws-ovn-upgrade openshift/ovn-kubernetes presubmit Ci-operator config changed

A total of 427 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.

@openshift-ci

openshift-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

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

@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
`@ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-main.yaml`:
- Around line 73-81: Update the job unification logic so
`hack/lib/unify-job-properties.py` treats `pipeline_skip_if_only_changed` as a
mutable job property alongside `skip_if_only_changed`. The generated
`e2e-aws-ovn-edge-zones` and `e2e-aws-ovn-local-gateway` jobs rely on this
field, so adjust the unifier’s property handling to recognize and preserve it
during branch unification, using the existing job-property parsing and merge
flow.
🪄 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: 050a71e7-8510-4fb0-ab6e-40c27e8e1e66

📥 Commits

Reviewing files that changed from the base of the PR and between 06fe201 and 5151894.

⛔ Files ignored due to path filters (64)
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-master-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.12-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.13-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.14-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.15-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.16-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.17-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.18-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.19-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.20-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.21-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.22-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.23-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-5.0-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/assisted-service/openshift-priv-assisted-service-release-5.1-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.12-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.13-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.14-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.15-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.16-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.17-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.18-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.19-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.20-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.21-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.22-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.23-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-5.0-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-5.1-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-sandbox-release-4.16-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-sandbox-release-4.17-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-master-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.12-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.13-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.14-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.15-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.16-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.17-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.18-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.19-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.20-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.21-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.22-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-4.23-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-5.0-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/assisted-service/openshift-assisted-service-release-5.1-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.12-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.13-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.14-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.15-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.16-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.17-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.18-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.19-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.20-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.21-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.23-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.0-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.1-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.16-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.17-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (91)
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-master.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.12.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.13.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.14.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.15.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.16.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.17.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.18.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.19.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.20.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.21.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.22.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-4.23.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-5.0.yaml
  • ci-operator/config/openshift-priv/assisted-service/openshift-priv-assisted-service-release-5.1.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-main.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.12.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.13.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.14.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.15.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.16.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.17.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.18.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.19.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.20.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.21.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.22.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-4.23.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-5.0.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-release-5.1.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-sandbox-release-4.16.yaml
  • ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-sandbox-release-4.17.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-master.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.12.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.13.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.14.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.15.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.16.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.17.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.18.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.19.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.20.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.21.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.22.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-4.23.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-5.0.yaml
  • ci-operator/config/openshift/assisted-service/openshift-assisted-service-release-5.1.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.12.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.13.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.13__4.13-upgrade-from-stable-4.12-local-gateway.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.13__4.13-upgrade-from-stable-4.12.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.14.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.14__4.14-upgrade-from-stable-4.13-local-gateway.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.14__4.14-upgrade-from-stable-4.13.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.15.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.15__4.15-upgrade-from-stable-4.14-local-gateway.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.15__4.15-upgrade-from-stable-4.14.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.16.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.16__4.16-upgrade-from-stable-4.15-local-gateway.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.16__4.16-upgrade-from-stable-4.15.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.17.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.17__4.17-upgrade-from-stable-4.16-local-gateway.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.17__4.17-upgrade-from-stable-4.16.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.18.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.18__4.18-upgrade-from-stable-4.17.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.18__periodics.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.19.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.19__4.19-upgrade-from-stable-4.18.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.19__periodics.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.20.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.20__4.20-upgrade-from-stable-4.19.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.20__periodics.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.21.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.21__4.21-upgrade-from-stable-4.20.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.21__periodics.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22__4.22-upgrade-from-stable-4.21.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22__periodics.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.23.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.23__periodics.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.0.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.0__periodics.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.1.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.16.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.16__4.16-upgrade-from-stable-4.15-local-gateway.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.16__4.16-upgrade-from-stable-4.15.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.17.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.17__4.17-upgrade-from-stable-4.16-local-gateway.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-sandbox-release-4.17__4.17-upgrade-from-stable-4.16.yaml
  • core-services/pipeline-controller/lgtm-config.yaml

Comment on lines +73 to +81
- always_run: false
as: e2e-aws-ovn-edge-zones
pipeline_skip_if_only_changed: ^(docs|\.github|contrib|etc|helm)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$
steps:
cluster_profile: openshift-org-aws
workflow: openshift-e2e-aws-edge-zones
- as: e2e-aws-ovn-local-gateway
skip_if_only_changed: ^(docs|\.github|contrib|etc|helm)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$
- always_run: false
as: e2e-aws-ovn-local-gateway
pipeline_skip_if_only_changed: ^(docs|\.github|contrib|etc|helm)/|\.md$|^(\.gitignore|OWNERS|LICENSE|CODEOWNERS|\.coderabbit\.yml|crd-docs-config\.yaml|mkdocs\.yml|requirements\.txt)$

@coderabbitai coderabbitai Bot Jul 9, 2026

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.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check whether unify-job-properties.py or related tooling recognizes pipeline_skip_if_only_changed
rg -n "pipeline_skip_if_only_changed" hack/ ci-operator/ core-services/ --type py --type yaml -C2
rg -n "mutable_properties" hack/lib/unify-job-properties.py -A15

Repository: openshift/release

Length of output: 50374


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- hack/lib/unify-job-properties.py (mutable_properties and surrounding logic) ---'
grep -n -A30 -B5 'mutable_properties' hack/lib/unify-job-properties.py || true
echo
echo '--- exact references to pipeline_skip_if_only_changed in tooling/code ---'
rg -n 'pipeline_skip_if_only_changed|skip_if_only_changed' hack/ ci-operator/ core-services/ --glob '!ci-operator/config/**' --glob '!ci-operator/jobs/**' -C 2 || true
echo
echo '--- ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-main.yaml around target lines ---'
sed -n '60,95p' ci-operator/config/openshift-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-main.yaml

Repository: openshift/release

Length of output: 4749


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- all non-config references to the new key ---'
rg -n "pipeline_skip_if_only_changed" -g '!ci-operator/config/**' -g '!ci-operator/jobs/**' -g '!**/*.md' .

echo
echo '--- job-generation/unification references to the old key ---'
rg -n "skip_if_only_changed" hack/ ci-operator/ --glob '!ci-operator/config/**' --glob '!ci-operator/jobs/**' -C 2

echo
echo '--- config/schema references to either key in ci-operator source ---'
rg -n "pipeline_skip_if_only_changed|skip_if_only_changed" hack/ ci-operator/ -g '!ci-operator/config/**' -g '!ci-operator/jobs/**' -g '!**/*.md' -C 2

Repository: openshift/release

Length of output: 204


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- generated jobs for openshift-priv/ovn-kubernetes main (field names) ---'
rg -n "e2e-aws-ovn-edge-zones|e2e-aws-ovn-local-gateway|pipeline_skip_if_only_changed|skip_if_only_changed" ci-operator/jobs/ -C 2 || true

echo
echo '--- config-processing/generation code references ---'
rg -n "pipeline_skip_if_only_changed|skip_if_only_changed" hack/ ci-operator/ --glob '!ci-operator/config/**' --glob '!ci-operator/jobs/**' -C 3 || true

Repository: openshift/release

Length of output: 50374


🏁 Script executed:

#!/bin/bash
set -u

echo '--- generated jobs for openshift-priv/ovn-kubernetes main (field names) ---'
rg -n "e2e-aws-ovn-edge-zones|e2e-aws-ovn-local-gateway|pipeline_skip_if_only_changed|skip_if_only_changed" ci-operator/jobs/ -C 2 || true

echo
echo '--- config-processing/generation code references ---'
rg -n "pipeline_skip_if_only_changed|skip_if_only_changed" hack/ ci-operator/ --glob '!ci-operator/config/**' --glob '!ci-operator/jobs/**' -C 3 || true

Repository: openshift/release

Length of output: 50374


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- generated job file for openshift-priv/ovn-kubernetes main ---'
fd -a 'openshift-priv-ovn-kubernetes-main-presubmits.yaml' ci-operator/jobs
echo
job_file=$(fd -a 'openshift-priv-ovn-kubernetes-main-presubmits.yaml' ci-operator/jobs | head -n1)
sed -n '1,120p' "$job_file"

echo
echo '--- parser/translator references for pipeline_skip_if_only_changed ---'
rg -n 'pipeline_skip_if_only_changed|skip_if_only_changed' hack/ ci-operator/ --glob '!ci-operator/config/**' --glob '!ci-operator/jobs/**' -C 2 | head -n 120

Repository: openshift/release

Length of output: 5075


🏁 Script executed:

#!/bin/bash
set -euo pipefail

sed -n '1,160p' hack/lib/unify-job-properties.py

Repository: openshift/release

Length of output: 5612


Add pipeline_skip_if_only_changed to the job unifier. hack/lib/unify-job-properties.py still only treats skip_if_only_changed as mutable, so this new annotation in generated jobs will be ignored during branch unification.

🤖 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-priv/ovn-kubernetes/openshift-priv-ovn-kubernetes-main.yaml`
around lines 73 - 81, Update the job unification logic so
`hack/lib/unify-job-properties.py` treats `pipeline_skip_if_only_changed` as a
mutable job property alongside `skip_if_only_changed`. The generated
`e2e-aws-ovn-edge-zones` and `e2e-aws-ovn-local-gateway` jobs rely on this
field, so adjust the unifier’s property handling to recognize and preserve it
during branch unification, using the existing job-property parsing and merge
flow.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

this finding is not valid

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.

@jmguzik, understood — I'll drop this concern. Thanks for the clarification.


🧠 Learnings used
Learnt from: rhmdnd
Repo: openshift/release PR: 81024
File: ci-operator/config/ComplianceAsCode/compliance-operator/ComplianceAsCode-compliance-operator-master.yaml:79-79
Timestamp: 2026-06-24T18:30:07.506Z
Learning: In the openshift/release repo, if a change affects only the `skip_if_only_changed` field in CI operator config YAMLs under `ci-operator/config/`, reviewers should not require running regeneration targets like `make update` or `make registry-metadata && make ci-operator-config && make jobs`, and should not expect or require diffs in generated ProwJob specs under `ci-operator/jobs/`. This is because ci-operator reads `skip_if_only_changed` directly from the config YAML at runtime and does not embed it into the generated ProwJob specs. If other fields besides `skip_if_only_changed` are modified, regeneration may be necessary—review accordingly.

@danilo-gemoli

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 9, 2026
@openshift-ci

openshift-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: danilo-gemoli, deepsm007, jmguzik

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

@jmguzik

jmguzik commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jmguzik: 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 9, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 886b445 into openshift:main Jul 9, 2026
16 checks passed
SachinNinganure pushed a commit to SachinNinganure/release that referenced this pull request Jul 20, 2026
…M mode (openshift#81671)

Convert e2e tests across versions 4.12+ to use the pipeline controller
second-stage model. Changes applied to both openshift and openshift-priv
orgs.

- skip_if_only_changed → pipeline_skip_if_only_changed
- run_if_changed → pipeline_run_if_changed
- Set always_run: false on required e2e tests
- Add both repos (both orgs) to lgtm-config.yaml

Made with Cursor

Signed-off-by: Jakub Guzik <jguzik@redhat.com>
amogh-redhat pushed a commit to amogh-redhat/release that referenced this pull request Aug 5, 2026
…M mode (openshift#81671)

Convert e2e tests across versions 4.12+ to use the pipeline controller
second-stage model. Changes applied to both openshift and openshift-priv
orgs.

- skip_if_only_changed → pipeline_skip_if_only_changed
- run_if_changed → pipeline_run_if_changed
- Set always_run: false on required e2e tests
- Add both repos (both orgs) to lgtm-config.yaml

Made with Cursor

Signed-off-by: Jakub Guzik <jguzik@redhat.com>
TimurMP pushed a commit to TimurMP/release that referenced this pull request Sep 5, 2026
…M mode (openshift#81671)

Convert e2e tests across versions 4.12+ to use the pipeline controller
second-stage model. Changes applied to both openshift and openshift-priv
orgs.

- skip_if_only_changed → pipeline_skip_if_only_changed
- run_if_changed → pipeline_run_if_changed
- Set always_run: false on required e2e tests
- Add both repos (both orgs) to lgtm-config.yaml

Made with Cursor

Signed-off-by: Jakub Guzik <jguzik@redhat.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