kevinjqliu opened a new pull request, #3459: URL: https://github.com/apache/iceberg-rust/pull/3459
## Which issue does this PR close? - N/A. This is half of a breakglass for urgent fixes such as #3455, which is approved but stuck waiting for `ubuntu-latest` runners. The other half is #3458. ## What changes are included in this PR? Moves the required status checks from classic branch protection into the `Merge Queue` ruleset. Only admins can bypass classic branch protection, so checks there can't be covered by the committer bypass that #3458 adds to this ruleset. With both PRs, a committer can merge an approved PR without waiting for the checks or the queue. This PR alone doesn't change behaviour: the ruleset has no bypass actors yet, and the same six contexts stay required, non-strict, from any source. Approvals and linear history stay in classic protection. asfyaml removes the classic checks when the key is dropped (`remove_required_status_checks()`) and creates the ruleset rule in the same run. ## Are these changes tested? - Validated with [apache/infrastructure-asfyaml](https://redirect.github.com/apache/infrastructure-asfyaml) at `83d367df`: schema validation (`run_parts(validate_only=True)`) and the generated ruleset payload, for this PR alone and combined with #3458. Passed. - Tested in a throwaway repo: - With a required check in classic protection under `enforce_admins`, a ruleset bypass actor's merge was rejected (`Required status check ... is expected`). - With the check only in the ruleset, the bypass actor's merge succeeded. - A one-approval rule left in classic protection was still enforced. - apache/seatunnel already runs the merge queue and required checks in one ruleset ([seatunnel PR 12289](https://redirect.github.com/apache/seatunnel/pull/12289)). ## AI Disclosure Drafted with GitHub Copilot. Please check: - Raw ruleset syntax requires `strict_required_status_checks_policy`, so it is set to `false` explicitly. The asfyaml default only applies to convenience syntax. - `integration_id` is left out on purpose: pinning it broke seatunnel's apply ([seatunnel PR 12291](https://redirect.github.com/apache/seatunnel/pull/12291)). - While asfyaml applies this change, the classic checks may be removed briefly before the ruleset rule is added. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
