Skip to content

ci: aggregate gate job + branch-0.4 required checks for spark-runtime - #862

Open
rangareddy wants to merge 2 commits into
apache:branch-0.4from
rangareddy:spark-runtime-required-gate
Open

ci: aggregate gate job + branch-0.4 required checks for spark-runtime#862
rangareddy wants to merge 2 commits into
apache:branch-0.4from
rangareddy:spark-runtime-required-gate

Conversation

@rangareddy

@rangareddy rangareddy commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

What

Adds a single aggregate "gate" job to spark-runtime-validation.yml so branch protection can require one stable status context for the Spark-runtime bundle validation instead of listing every matrix version, plus a branch-0.4 protection block in .asf.yaml.

Follow-up to the review discussion on #848: .asf.yaml / GitHub branch protection match required status checks by exact name (no wildcards), so a matrix job forces you to enumerate validate-spark-runtime-bundle (3.4.3) and (3.5.9) — and re-edit .asf.yaml every time the Spark matrix changes.

Changes

  • spark-runtime-validation.yml — new job spark-runtime-validation-required that needs: validate-spark-runtime-bundle and fails unless the aggregated matrix result is success (needs.<job>.result is success only when all legs pass). if: always() is used deliberately: without it the gate is skipped when a leg fails, and a skipped required check leaves a PR stuck on a pending status. The matrix job is unchanged.
  • .asf.yaml — adds a branch-0.4 protected_branches block requiring Maven CI Build, License Check and spark-runtime-validation-required.

Important caveat on the .asf.yaml block

ASF applies .asf.yaml github: settings (branch protection included) only from the default branch (main). This branch-0.4 block therefore documents the intended protection but does not take effect from this file — the effective registration must also live in main's .asf.yaml (that's what #848 does). Kept here for parity/self-documentation; a maintainer should ensure main's .asf.yaml requires spark-runtime-validation-required for branch-0.4 (see the suggestion left on #848).

Merge order

Merge this gate job first so the spark-runtime-validation-required context exists on branch-0.4, then require it in main's .asf.yaml (#848).

Testing

YAML validated locally; job graph confirmed (gate depends on the matrix job, if: always(), exits non-zero unless aggregated result is success); .asf.yaml parses and declares the three required contexts for branch-0.4.

Add a spark-runtime-validation-required job that depends on the
validate-spark-runtime-bundle matrix and passes only when every leg
succeeds. This exposes a single stable status context so branch
protection can require one check name instead of listing each Spark
version (validate-spark-runtime-bundle (3.4.3) / (3.5.9)), which cannot
use wildcards. Uses if: always() so the gate still reports (not skipped)
when a matrix leg fails.
Add a branch-0.4 protected_branches block requiring Maven CI Build,
License Check and the new spark-runtime-validation-required gate context.

Note: ASF applies .asf.yaml github settings only from the default branch
(main), so this block documents branch-0.4's intended protection and takes
effect through main's .asf.yaml rather than this file.
@rangareddy rangareddy changed the title ci: add aggregate gate job for spark-runtime matrix (single required check) ci: aggregate gate job + branch-0.4 required checks for spark-runtime Jul 24, 2026
@rangareddy

Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant