Skip to content

tide: set github_merge_blocks_policy to block for OADP repos - #82902

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
redhat-chai-bot:oadp-tide-merge-blocks-policy
Aug 4, 2026
Merged

tide: set github_merge_blocks_policy to block for OADP repos#82902
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
redhat-chai-bot:oadp-tide-merge-blocks-policy

Conversation

@redhat-chai-bot

@redhat-chai-bot redhat-chai-bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Sets github_merge_blocks_policy: block for all 21 OADP ecosystem repositories that have branchprotection + tide configuration in openshift/release.

Motivation

Addresses the Tide retry loop concern described in kubernetes-sigs/prow#673: when enforce_admins: true and required_approving_review_count > 0 are configured, Tide can get stuck retrying an unmergeable PR (one that has approved + lgtm labels but insufficient GitHub approving reviews), blocking the entire merge queue.

Per this comment, kubernetes-sigs/prow#579 (merged) adds a github_merge_blocks_policy Tide config option. Setting it to block makes Tide respect GitHub's mergeStateStatus — when a PR is BLOCKED by branch protection, Tide skips it and advances to the next candidate.

Changes

Adds to each repo's _prowconfig.yaml under the tide: section:

tide:
  github_merge_blocks_policy:
    <org/repo>: block

Repos affected (21 total)

openshift org (11): oadp-operator, oadp-must-gather, openshift-velero-plugin, hypershift-oadp-plugin, velero, velero-plugin-for-aws, velero-plugin-for-gcp, velero-plugin-for-microsoft-azure, velero-plugin-for-legacy-aws, restic, velero-plugin-for-csi

migtools org (10): kubevirt-velero-plugin, oadp-non-admin, kopia, oadp-cli, filebrowser, udistribution, oadp-vmdp, kubevirt-datamover-controller, oadp-vm-file-restore, kubevirt-datamover-plugin

Of these, 14 have enforce_admins: true + required_approving_review_count > 0 (directly susceptible to the retry loop). The remaining 7 upstream fork repos use allow_force_pushes instead; setting block for them is a safe no-op that ensures consistent behavior if their config changes in the future.

References


AI-generated. Review for accuracy.

@kaovilai requested in Slack thread

Summary by CodeRabbit

This PR updates Prow Tide configuration for 21 OADP and Velero ecosystem repositories in the openshift and migtools organizations.

The github_merge_blocks_policy: block setting makes Tide respect GitHub mergeStateStatus. Tide skips pull requests blocked by branch protection, which prevents retry loops and allows the merge queue to advance.

Fourteen repositories are directly affected by the relevant branch protection settings. Seven upstream forks receive the setting for consistent future behavior.

@coderabbitai

coderabbitai Bot commented Aug 4, 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: Pro Plus

Run ID: 6ba47359-43cc-42ae-8f11-af02dc0ca6b9

📥 Commits

Reviewing files that changed from the base of the PR and between 9b5bebe and baac38e.

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

Walkthrough

The Tide configuration adds github_merge_blocks_policy entries that block merges for 21 migration, Velero, OADP, and related repositories.

Changes

Tide merge block policies

Layer / File(s) Summary
Repository merge-block configuration
core-services/prow/02_config/_config.yaml
Adds block policies for 21 specified repositories across the migtools, OpenShift, Velero, and OADP projects.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • openshift/ci-tools#5353 — Adds support for the same github_merge_blocks_policy field in per-repository configuration handling.

Suggested reviewers: awels, jmguzik

🚥 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 main change: setting Tide's github_merge_blocks_policy to block for OADP repositories.
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 This check is not applicable. The PR modifies only a Prow configuration YAML file (_config.yaml) containing CI/CD policy settings, not test code. No Ginkgo tests are present in the changes.
Test Structure And Quality ✅ Passed The PR changes only core-services/prow/02_config/_config.yaml and adds Tide configuration; it contains no Ginkgo test code to assess.
Microshift Test Compatibility ✅ Passed This PR only modifies Prow configuration in a YAML file (_config.yaml), adding Tide merge blocks policy settings. It does not add any Ginkgo e2e tests or test code, so the MicroShift Test Compatibi...
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request changes only one YAML configuration file and adds no Ginkgo e2e tests, so SNO test compatibility checks do not apply.
Topology-Aware Scheduling Compatibility ✅ Passed The commit changes only one Prow Tide config file, adding 21 github_merge_blocks_policy entries; it adds no deployment, controller, or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The PR changes only a Tide YAML configuration file; it adds 21 policy entries and no OTE binary or process-level stdout code.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The commit changes only core-services/prow/02_config/_config.yaml, adding Tide mappings; it adds no Ginkgo tests or test network behavior to assess.
No-Weak-Crypto ✅ Passed Pull request modifies only a YAML configuration file, adding Prow Tide settings for 21 repositories. No weak cryptographic implementations, custom crypto code, or secret comparisons are present.
Container-Privileges ✅ Passed The PR modifies only Prow Tide configuration (github_merge_blocks_policy). It contains no container manifests, pod specifications, or privilege-related security settings that the check targets.
No-Sensitive-Data-In-Logs ✅ Passed The PR adds only configuration entries (org/repo: block pairs) to a YAML Tide config. No logging that exposes sensitive data is introduced; the change is purely static configuration without passwor...
✨ 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.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@redhat-chai-bot
redhat-chai-bot force-pushed the oadp-tide-merge-blocks-policy branch from 9b5bebe to baac38e Compare August 4, 2026 16:00
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@redhat-chai-bot: 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 added the lgtm Indicates that a PR is ready to be merged. label Aug 4, 2026
@openshift-ci

openshift-ci Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kaovilai, Prucek, redhat-chai-bot

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

openshift-ci Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@redhat-chai-bot: 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-merge-bot
openshift-merge-bot Bot merged commit c47cd55 into openshift:main Aug 4, 2026
12 checks passed
@openshift-ci

openshift-ci Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@redhat-chai-bot: Updated the following 2 configmaps:

  • config configmap in namespace ci at cluster app.ci using the following files:
    • key config.yaml using file core-services/prow/02_config/_config.yaml
  • config configmap in namespace ci at cluster core-ci using the following files:
    • key config.yaml using file core-services/prow/02_config/_config.yaml
Details

In response to this:

Summary

Sets github_merge_blocks_policy: block for all 21 OADP ecosystem repositories that have branchprotection + tide configuration in openshift/release.

Motivation

Addresses the Tide retry loop concern described in kubernetes-sigs/prow#673: when enforce_admins: true and required_approving_review_count > 0 are configured, Tide can get stuck retrying an unmergeable PR (one that has approved + lgtm labels but insufficient GitHub approving reviews), blocking the entire merge queue.

Per this comment, kubernetes-sigs/prow#579 (merged) adds a github_merge_blocks_policy Tide config option. Setting it to block makes Tide respect GitHub's mergeStateStatus — when a PR is BLOCKED by branch protection, Tide skips it and advances to the next candidate.

Changes

Adds to each repo's _prowconfig.yaml under the tide: section:

tide:
 github_merge_blocks_policy:
   <org/repo>: block

Repos affected (21 total)

openshift org (11): oadp-operator, oadp-must-gather, openshift-velero-plugin, hypershift-oadp-plugin, velero, velero-plugin-for-aws, velero-plugin-for-gcp, velero-plugin-for-microsoft-azure, velero-plugin-for-legacy-aws, restic, velero-plugin-for-csi

migtools org (10): kubevirt-velero-plugin, oadp-non-admin, kopia, oadp-cli, filebrowser, udistribution, oadp-vmdp, kubevirt-datamover-controller, oadp-vm-file-restore, kubevirt-datamover-plugin

Of these, 14 have enforce_admins: true + required_approving_review_count > 0 (directly susceptible to the retry loop). The remaining 7 upstream fork repos use allow_force_pushes instead; setting block for them is a safe no-op that ensures consistent behavior if their config changes in the future.

References


AI-generated. Review for accuracy.

@kaovilai requested in Slack thread

Summary by CodeRabbit

This PR updates Prow Tide configuration for 21 OADP and Velero ecosystem repositories in the openshift and migtools organizations.

The github_merge_blocks_policy: block setting makes Tide respect GitHub mergeStateStatus. Tide skips pull requests blocked by branch protection, which prevents retry loops and allows the merge queue to advance.

Fourteen repositories are directly affected by the relevant branch protection settings. Seven upstream forks receive the setting for consistent future behavior.

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.

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