yihua opened a new pull request, #19514: URL: https://github.com/apache/hudi/pull/19514
### Describe the issue this Pull Request addresses ASF infra has disabled GitHub Actions on apache/hudi because of how much runner time the CI matrix consumes. Nothing can be verified or merged until the usage comes down, so this cuts the matrix to a size the project can afford to run today and resets branch protection to match. ### Summary and Changelog Java CI (`.github/workflows/bot.yml`) keeps one configuration per area rather than the full cross-product: one Spark 3.5 lane on Java 11, one Spark 4.2 lane on Java 17, one Flink 2.1 lane, one Spark 3.5 and one Spark 4.2 bundle validation, and the Spark 3.5 integration tests. `validate-source` stays, since it is the ASF license and RAT check and finishes in under a minute. The Trino connector workflow is unchanged. Everything dropped is commented out in place, not deleted, and marked `[CI-TRIM]`, so restoring a lane is a matter of stripping a `#` prefix. Parked jobs: `test-spark-java-tests-part1/2/3`, `test-spark-scala-dml-tests`, `test-spark-scala-other-tests`, `docker-java17-test`, `validate-bundles-java11`, `integration-tests-hive-sync`, `build-spark-java17`, `build-flink-java17`. Parked matrix entries: Spark 3.5, 4.0 and 4.1 rows from the five Java 17 datasource jobs, the Flink 1.18, 1.19, 1.20 and 2.0 rows from `test-flink-1`, and the non-kept rows from `validate-bundles` and `validate-bundle-spark4`. `.asf.yaml` no longer lists the per-job contexts under `required_status_checks`. It keeps the four cheap gates (`validate-source`, `validate-pr`, `validate-pr-title`, `validate-commit-coauthor`) and adds `validate-ci-baseline`, a new do-nothing job in bot.yml. Because that context does not exist on master today, a PR that already collected green checks from the old matrix cannot merge on them: branch protection holds it until CI runs again. It is meant to be removed once no pre-trim PR is still open. Listing per-job contexts is also what made every matrix change a two-sided edit, so leaving them out keeps this reversible. Two comments that the trim made inaccurate are corrected: the `paths:` rationale in `hudi_trino_ci.yml` (which cited `test-hudi-trino-plugin` being a required check) and the bot.yml line in `.github/workflows/README.md`. `hudi-integ-test/pom.xml` notes that nothing runs the integ2 suite while `integration-tests-hive-sync` is parked. ### Impact No product code changes. The impact is on what CI catches, and it is worth being explicit about two gaps rather than discovering them later: - Several profile-gated module trees are no longer compiled by any job: `hudi-spark-datasource/hudi-spark3.3.x|3.4.x|4.0.x|4.1.x` and `hudi-flink-datasource/hudi-flink1.18.x|1.19.x|1.20.x|2.0.x`. A change to a shared class that updates only the Spark 3.5 and 4.2 implementations will now pass every check and break those builds on master. - The surviving `validate-bundles` row is scala-2.13, which takes the branch that packages only the Spark-side bundles, so `hudi-flink-bundle`, `hudi-kafka-connect-bundle` and `hudi-metaserver-server-bundle` are no longer built or validated anywhere. The `flink1.20` in that check's name is now only part of the rendered context string. If the project wants a cheap backstop for the first gap, a compile-only (`-DskipTests`) lane over the parked profiles would cover it at a fraction of the runner cost of the jobs being parked. Happy to add it here or as a follow-up. ### Risk Level low The change is mechanical and reversible: every removed line has an exact commented-out counterpart, so restoring any lane is a prefix strip. Verified that both workflows still parse, that `actionlint` reports nothing beyond the pre-existing shellcheck info on untouched lines, and that every surviving job renders the exact check name it did before, since matrix key order determines that string and a mismatch would leave a required context pending forever. Also verified that no surviving job has a `needs:` on a parked job, that no workflow-level env var lost all its consumers, and that all five required contexts are produced by workflows that still trigger on `pull_request` against master. One thing to sequence: `validate-ci-baseline` can only report once Actions is enabled on the repository again, so this should merge alongside or after the re-enable, not before. ### Documentation Update none ### Contributor's checklist - [x] Read through [contributor's guide](https://hudi.apache.org/contribute/how-to-contribute) - [x] Enough context is provided in the sections above - [x] Adequate tests were added if applicable -- 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]
