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]

Reply via email to