Skip to content

OSAC-3734: osac-project: remove Tide merge queries, keep Prow plugins - #83121

Open
omer-vishlitzky wants to merge 6 commits into
openshift:mainfrom
omer-vishlitzky:osac-strip-tide-to-jira-only
Open

OSAC-3734: osac-project: remove Tide merge queries, keep Prow plugins#83121
omer-vishlitzky wants to merge 6 commits into
openshift:mainfrom
omer-vishlitzky:osac-strip-tide-to-jira-only

Conversation

@omer-vishlitzky

@omer-vishlitzky omer-vishlitzky commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Remove Tide merge queries for osac-project/osac and osac-project/osac-test-infra. Tide will no longer process these repos.

All Prow plugins are unchanged_pluginconfig.yaml is NOT modified. Plugins (lgtm, approve, jira, hold, wip, lifecycle, etc.) continue setting labels via OWNERS files.

Why

OSAC is migrating to GitHub merge queue for merge automation. Tide cannot retest PRs against latest main when using GitHub Actions checks — its staleness detection only works with native Prow jobs. With zero Prow presubmits configured, Tide's per-context staleness bookkeeping iterates an empty list and never executes. Its merge gate only checks whether a required GitHub Actions check is currently reporting success, with no concept of "was this success computed against an old base SHA." This is confirmed upstream behavior (prow#356, test-infra#20713, test-infra#30628).

What changes

File Before After
osac/_prowconfig.yaml Tide query requiring lgtm + approved + jira/valid-reference {} (empty — Tide ignores repo)
osac-test-infra/_prowconfig.yaml Tide query requiring lgtm + approved + jira/valid-reference {} (empty — Tide ignores repo)
osac/_pluginconfig.yaml Prow plugins configured No change
osac-test-infra/_pluginconfig.yaml Prow plugins configured No change

What stays the same

  • /lgtm, /approve, /hold commands via Prow plugins
  • OWNERS-based review assignments
  • Jira validation (jira/valid-reference label)
  • All other Prow plugins (assign, blunderbuss, lifecycle, wip, etc.)

New merge flow

A label-gate GitHub Action (companion osac PR) reads Prow-set labels and converts them to a status check. GitHub merge queue gates on that check + E2E results.

Companion PRs

  1. OSAC-3734: add label-gate workflow for merge queue osac-project/osac#204 — add label-gate.yml workflow
  2. OSAC-3734: enable merge queue for osac monorepo osac-project/github-config#180 — enable merge queue, require label-gate check
  3. This PR — remove Tide queries

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Removed Tide merge queries for osac-project/osac and osac-project/osac-test-infra.
  • Tide will no longer process merges for these repositories.
  • Prow plugins and label-setting behavior remain active because _pluginconfig.yaml is unchanged.
  • Updated both configurations to use an empty queries list so checkconfig validation passes.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 7, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

Strip Tide queries for osac-project/osac and osac-project/osac-test-infra down to jira-only:

  • Remove approved, lgtm from required labels — native GitHub approval replaces these
  • Remove needs-rebase, backports/unvalidated-commits from missing labels — merge queue handles branch freshness
  • Keep jira/valid-reference as the sole required label
  • Keep do-not-merge/hold, do-not-merge/work-in-progress, do-not-merge/invalid-owners-file, jira/invalid-bug as blocking labels
  • No changes to _pluginconfig.yaml — all Prow plugins (jira, approve, lgtm, hold, etc.) continue running

Context

OSAC is migrating from Tide merge automation to GitHub's native merge queue. Tide's tide commit status is used as a required status check for merge queue entry — it reports success when jira/valid-reference is present and no blocking labels exist. Tide physically cannot merge (merge queue blocks direct merges to the branch), so it functions purely as a Jira validation gate.

All Prow plugins remain active. Labels like lgtm, approved, hold are still set by Prow — they're just no longer required by Tide's merge query. Native GitHub approval and merge queue replace them as merge gates.

Companion PR

Test plan

  • Tide status on osac PRs reflects only jira/valid-reference requirement
  • PRs with jira/valid-reference show tide status as passing
  • PRs without jira/valid-reference show tide status as pending/failing
  • Prow plugins (jira, hold, wip, etc.) continue setting labels normally

🤖 Generated with Claude Code

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: omer-vishlitzky

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 Aug 7, 2026
@coderabbitai

coderabbitai Bot commented Aug 7, 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: 66be8318-6acb-461d-8a39-e2f3181be215

📥 Commits

Reviewing files that changed from the base of the PR and between 7c48009 and c8d7d3e.

📒 Files selected for processing (2)
  • core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml
  • core-services/prow/02_config/osac-project/osac/_prowconfig.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml

Walkthrough

The PR replaces the Tide query lists for osac-project/osac-test-infra and osac-project/osac with empty lists. This removes their required-label and missing-label checks.

Changes

OSAC Tide configuration

Layer / File(s) Summary
Remove repository Tide queries
core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml, core-services/prow/02_config/osac-project/osac/_prowconfig.yaml
Both repositories now use empty Tide query lists. Their required-label and missing-label checks are removed.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: adriengentil, jhernand, eliorerz

🚥 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 and concisely describes the removal of Tide merge queries while retaining Prow plugins.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR changes only two Prow YAML files; no test files or Ginkgo title expressions were added or modified.
Test Structure And Quality ✅ Passed The PR changes only two _prowconfig.yaml files containing Tide settings; it adds or modifies no Ginkgo test code, so this check is not applicable.
Microshift Test Compatibility ✅ Passed The pull request changes only two YAML Prow configuration files and adds no Ginkgo tests or test declarations requiring MicroShift compatibility review.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request changes only Prow YAML configuration; it adds no Ginkgo e2e tests or test paths, so SNO compatibility checks do not apply.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes only two Prow _prowconfig.yaml files to set tide.queries: []; no deployment, operator, controller, or scheduling constraints are modified.
Ote Binary Stdout Contract ✅ Passed The PR changes only Prow YAML configuration; no OTE binary source or process-level stdout write is added or modified.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The complete PR diff changes only two Prow YAML files; it adds no Ginkgo tests, IPv4 assumptions, or external connectivity, and both plugin configs remain unchanged.
No-Weak-Crypto ✅ Passed The PR changes only two Prow YAML files to set tide.queries: []; no MD5, SHA1, DES, RC4, Blowfish, ECB, custom crypto, or secret comparisons were added.
Container-Privileges ✅ Passed The PR changes only two Prow Tide YAML files; no privileged, host namespace, SYS_ADMIN, root, or allowPrivilegeEscalation settings were added.
No-Sensitive-Data-In-Logs ✅ Passed The PR changes only two Tide YAML files to queries: []; the full target diff and nearby configs contain no logging statements or sensitive-data fields.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci
openshift-ci Bot requested review from adriengentil and jhernand August 7, 2026 18:22
@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 7, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml`:
- Line 1: Restore the Tide query requiring jira/valid-reference and blocking
labels in
core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml. Do
not modify core-services/prow/02_config/osac-project/osac/_prowconfig.yaml,
which has no corresponding removed query.
🪄 Autofix

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: 53d42ce9-8664-4b8c-8161-e93fe0138ac5

📥 Commits

Reviewing files that changed from the base of the PR and between 0ae35da and 7c48009.

📒 Files selected for processing (2)
  • core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml
  • core-services/prow/02_config/osac-project/osac/_prowconfig.yaml

- needs-rebase
repos:
- osac-project/osac-test-infra
{}

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 | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -C 12 \
  -e 'osac-project/osac-test-infra' \
  -e 'osac-project/osac($|[^-])' \
  core-services/prow --glob '*.yaml' --glob '*.yml' || true

rg -n -C 10 \
  '^[[:space:]]*tide:|^[[:space:]]*queries:|^[[:space:]]*repos:' \
  core-services/prow --glob '*.yaml' --glob '*.yml' || true

Repository: openshift/release

Length of output: 50374


🏁 Script executed:

set -euo pipefail

for f in \
  core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml \
  core-services/prow/02_config/osac-project/osac/_prowconfig.yaml
do
  echo "=== $f ==="
  cat -n "$f"
done

echo "=== exact repository references ==="
rg -n -C 8 \
  '(^|[^[:alnum:]_-])osac-project/osac-test-infra([^[:alnum:]_-]|$)|(^|[^[:alnum:]_-])osac-project/osac([^[:alnum:]_-]|$)' \
  core-services/prow \
  --glob '*.yaml' --glob '*.yml' \
  --glob '!**/osac-project/osac-test-infra/_prowconfig.yaml' \
  --glob '!**/osac-project/osac/_prowconfig.yaml' \
  | head -n 300 || true

echo "=== file-local history diff ==="
git diff --unified=30 -- \
  core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml \
  core-services/prow/02_config/osac-project/osac/_prowconfig.yaml

Repository: openshift/release

Length of output: 8823


🏁 Script executed:

set -euo pipefail

echo "=== nearby Prow configuration files ==="
fd -t f '_prowconfig\.yaml$|_config\.yaml$|prowconfig' core-services/prow/02_config \
  | sort | head -n 300

echo "=== exact repository references in all tracked files ==="
git grep -n -E '(^|[^[:alnum:]_-])osac-project/osac-test-infra([^[:alnum:]_-]|$)|(^|[^[:alnum:]_-])osac-project/osac([^[:alnum:]_-]|$)' -- \
  ':!core-services/prow/02_config/osac-project/osac-test-infra/_pluginconfig.yaml' \
  ':!core-services/prow/02_config/osac-project/osac/_pluginconfig.yaml' \
  | head -n 300 || true

echo "=== current and parent revisions ==="
for f in \
  core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml \
  core-services/prow/02_config/osac-project/osac/_prowconfig.yaml
do
  echo "--- $f at HEAD ---"
  git show "HEAD:$f" 2>/dev/null || true
  echo "--- $f at HEAD^ ---"
  git show "HEAD^:$f" 2>/dev/null || true
done

Repository: openshift/release

Length of output: 22853


🏁 Script executed:

set -euo pipefail

echo "=== global Prow configuration ==="
cat -n core-services/prow/02_config/_config.yaml

echo "=== osac Prow configuration files ==="
git ls-files \
  'core-services/prow/02_config/*/*/_prowconfig.yaml' \
  'core-services/prow/02_config/*/_prowconfig.yaml' \
  | rg '/osac(-test-infra)?/_prowconfig\.yaml$' || true

echo "=== exact repository references outside plugin configuration ==="
git grep -n -E '(^|[^[:alnum:]_-])osac-project/osac-test-infra([^[:alnum:]_-]|$)|(^|[^[:alnum:]_-])osac-project/osac([^[:alnum:]_-]|$)' -- \
  ':!core-services/prow/02_config/osac-project/osac-test-infra/_pluginconfig.yaml' \
  ':!core-services/prow/02_config/osac-project/osac/_pluginconfig.yaml' || true

echo "=== current and parent revisions ==="
for f in \
  core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml \
  core-services/prow/02_config/osac-project/osac/_prowconfig.yaml
do
  echo "--- $f at HEAD ---"
  git show "HEAD:$f" 2>/dev/null || true
  echo "--- $f at HEAD^ ---"
  git show "HEAD^:$f" 2>/dev/null || true
done

Repository: openshift/release

Length of output: 47183


Restore the Tide query for osac-project/osac-test-infra.

No equivalent global query replaces the query requiring jira/valid-reference and blocking labels. Restore it in core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml. The osac configuration has no corresponding removed query.

📍 Affects 2 files
  • core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml#L1-L1 (this comment)
  • core-services/prow/02_config/osac-project/osac/_prowconfig.yaml#L1-L1
🤖 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/osac-project/osac-test-infra/_prowconfig.yaml`
at line 1, Restore the Tide query requiring jira/valid-reference and blocking
labels in
core-services/prow/02_config/osac-project/osac-test-infra/_prowconfig.yaml. Do
not modify core-services/prow/02_config/osac-project/osac/_prowconfig.yaml,
which has no corresponding removed query.

Sources: Coding guidelines, Learnings

@omer-vishlitzky omer-vishlitzky changed the title NO-ISSUE: osac-project: strip Tide queries to jira-only OSAC-3734: osac-project: remove Tide merge queries, keep Prow plugins Aug 7, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: This pull request references OSAC-3734 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

Remove Tide merge queries for osac-project/osac and osac-project/osac-test-infra. Tide will no longer process these repos.

All Prow plugins are unchanged_pluginconfig.yaml is NOT modified. Plugins (lgtm, approve, jira, hold, wip, lifecycle, etc.) continue setting labels via OWNERS files.

Why

OSAC is migrating to GitHub merge queue for merge automation. Tide cannot retest PRs against latest main when using GitHub Actions checks (only works with native Prow jobs). See how-osac-ci-works §21.

What changes

File Before After
osac/_prowconfig.yaml Tide query requiring lgtm + approved + jira/valid-reference {} (empty — Tide ignores repo)
osac-test-infra/_prowconfig.yaml Tide query requiring lgtm + approved + jira/valid-reference {} (empty — Tide ignores repo)
osac/_pluginconfig.yaml Prow plugins configured No change
osac-test-infra/_pluginconfig.yaml Prow plugins configured No change

What stays the same

  • /lgtm, /approve, /hold commands via Prow plugins
  • OWNERS-based review assignments
  • Jira validation (jira/valid-reference label)
  • All other Prow plugins (assign, blunderbuss, lifecycle, wip, etc.)

New merge flow

A label-gate GitHub Action (companion osac PR) reads Prow-set labels and converts them to a status check. GitHub merge queue gates on that check + E2E results.

Companion PRs

  1. osac-project/osac — add label-gate.yml workflow
  2. OSAC-3734: enable merge queue for osac monorepo osac-project/github-config#180 — enable merge queue, require label-gate check
  3. This PR — remove Tide queries

🤖 Generated with Claude Code

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@omer-vishlitzky: no rehearsable tests are affected by this change

Note: If this PR includes changes to step registry files (ci-operator/step-registry/) and you expected jobs to be found, try rebasing your PR onto the base branch. This helps pj-rehearse accurately detect changes when the base branch has moved forward.

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.

1 similar comment
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@omer-vishlitzky: no rehearsable tests are affected by this change

Note: If this PR includes changes to step registry files (ci-operator/step-registry/) and you expected jobs to be found, try rebasing your PR onto the base branch. This helps pj-rehearse accurately detect changes when the base branch has moved forward.

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 Aug 7, 2026

Copy link
Copy Markdown
Contributor

@omer-vishlitzky: 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/config c8d7d3e link true /test config

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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants