Yicong-Huang opened a new pull request, #4622:
URL: https://github.com/apache/texera/pull/4622

   ### What changes were proposed in this PR?
   
   Wire the Build workflow's `precheck` job up to PR labels so it can skip 
irrelevant stacks. Two pieces:
   
   - `precheck` now polls for the `labeler` check on the PR head SHA before 
deciding (up to 5 minutes), so the labels the Pull Request Labeler workflow 
applies are already in place. Then it re-fetches the PR's labels and uses them 
as the gating signal.
   - Routing rules:
     - PR labelled exclusively with `docs` and/or `dev` → every main stack 
(`frontend`, `scala`, `python`, `agent-service`) is skipped.
     - PR with no `frontend` label → `frontend` stack is skipped; the other 
stacks still run.
     - Other label combinations → every stack runs (current default).
     - `push` and `workflow_dispatch` events are unchanged, every stack runs 
unconditionally.
   - Rename the existing `build` label in `.github/labeler.yml` to `dev` so the 
name matches the role it actually plays (infra / developer tooling under 
`bin/**` and `deployment/**`); precheck reads `dev`.
   
   The backport matrix gating is unchanged; it still keys off `release/*` 
labels.
   
   ### Any related issues, documentation, discussions?
   
   Closes #4621.
   Picks up the idea from the closed prior attempt #3642 ("chore(ci): skip 
non-relevant CIs"), but applies it to the merged Build workflow's `precheck` 
and uses labels as the source of truth instead of a separate path filter.
   
   Note: the `.asf.yaml` ruleset on `release/*` and `main` lists static 
required check names (e.g. `frontend (ubuntu-latest, 18)`, `scala 
(ubuntu-22.04, 11)`). When this PR skips a stack, those checks come back as 
`skipped` rather than `success` and may need the aggregator from #4599 to 
bypass branch protection cleanly. This PR does not modify the ruleset.
   
   ### How was this PR tested?
   
   To be exercised on the PR itself once labeler runs on it: this PR touches 
`.github/workflows/**` and `.github/labeler.yml`, so the labeler should add 
`ci`. With only `ci` (and not `frontend`), `precheck` should set 
`run_frontend=false` and run the other stacks. Adding `frontend` should flip 
frontend back on; replacing labels with `docs` (or `dev`) only should skip 
every stack.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Opus 4.7
   


-- 
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