nevzheng opened a new pull request, #12545: URL: https://github.com/apache/gravitino/pull/12545
### What changes were proposed in this pull request? - New `.github/workflows/required-ci.yml` — the sole `pull_request` listener. It fans out to the public CI suites via `workflow_call` and a terminal job aggregates all results into one check named `Required CI` (green only when every applicable suite is `success`; a path-skipped suite counts as `success`). - 14 suite workflows each gain a `workflow_call` trigger with a `required_ci` boolean input and lose their direct `pull_request` trigger (the parent is the sole listener, avoiding duplicate runs). Each keeps its `push` trigger and its own path-based skip, so branch builds and per-PR filtering are unchanged. - `conflict-marker-check` and `asf-allowlist-check` are left standalone (deliberately independent so a path filter cannot skip them). ### Why are the changes needed? `main` has no required status checks, so a PR can merge on review approval alone even when CI is red (#12531 was `BLOCKED` only on `REVIEW_REQUIRED` while every check was green; a failing `build` reports `UNSTABLE`, not `BLOCKED`). This lets `main` break silently and blocks any auto-merge story. One enforceable `Required CI` check lets a `main` ruleset gate merges on CI and enables auto-merge. It is also the foundation for the CI speed epic (#3834) — one reliable aggregate check lets redundant PR CI be consolidated without losing the gate. ### Does this PR introduce _any_ user-facing change? No API or property changes. Contributor-facing only: PRs show the same per-suite checks as today, plus one `Required CI` aggregate. No contributor workflow change. ### How was this patch tested? - YAML syntax validated for all 32 workflow files with PyYAML. - Structural check: every `uses:` in the parent resolves to a child exposing `workflow_call` with a `required_ci` input; `push` triggers remain on all 14 children. - Not yet exercised live. Rollout is staged: land this PR (no ruleset yet) → canary on path-skip and full-run PRs, confirming a check named exactly `Required CI` reports success and that `coverage-comment.yml`'s `workflow_run` on `build` still fires under `workflow_call` → enable the `main` ruleset requiring `Required CI` + `conflict-marker-check` (strict) and auto-merge (squash). Fix: #12544 Nevin Sent from my 🤖 (Cursor) -- 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]
