You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@texera.apache.org by "Yicong-Huang (via GitHub)" <gi...@apache.org> on 2026/05/02 02:51:42 UTC
[I] Redesign CI skip: map each label to its required stacks [texera]
Yicong-Huang opened a new issue, #4639:
URL: https://github.com/apache/texera/issues/4639
### Task Summary
Redesign the precheck's CI-skip computation so each label has an explicit list of stacks it requires, and the run set is the union across all labels on the PR. Replace the current ad-hoc rule cascade.
### Current state
`required-checks.yml`'s precheck applies hand-written rules:
- labels ⊆ {`docs`, `dev`} → skip all stacks
- only `frontend` (with optional `docs`/`dev`) → skip every non-frontend stack
- no `frontend` label → skip frontend
- otherwise → run all
This works for the cases we have but does not generalize: every new shape (e.g. "`python`-only PR", "no `engine` label") needs another bespoke branch and another rule to reason about.
### Proposed design
Define a static mapping from each labeler-applied label to the stacks it requires:
| label | frontend | scala | python | agent-service |
|---|---|---|---|---|
| `frontend` | ✓ | | | |
| `python` | | | ✓ | |
| `engine` | | ✓ | ✓ | |
| `service` | | ✓ | | ✓ |
| `common` | | ✓ | | |
| `dependencies` | ✓ | ✓ | ✓ | ✓ |
| `ddl-change` | | ✓ | | |
| `ci` | ✓ | ✓ | ✓ | ✓ |
| `docs` | | | | |
| `dev` | | | | |
| `feature` / `fix` / `refactor` (branch-name labels) | (no stack opinion) | | | |
precheck reads PR labels and outputs `run_<stack> = stack ∈ ⋃ map[label]`. Empty union → all skipped. `release/*` labels keep their existing role driving the backport matrix and contribute no stacks themselves.
### Open questions for the design review
- `service` currently matches every `*-service/**` directory, which includes both the scala services and `agent-service`. The mapping above forces both stacks; if we want finer granularity we'd add a dedicated `agent-service` label (split `*-service/**` against `agent-service/**`).
- `dependencies` and `ci` deliberately fan out to all stacks — they're the safety valve for edits that can quietly break anything.
- `feature` / `fix` / `refactor` are branch-name driven and orthogonal to file paths; suggest treating them as no-op for stack selection.
### Migration
- Replace the current rule cascade with a `LABEL_STACKS` map and `Object.values(...).flat()` style union.
- Keep the docs/dev "skip all" outcome as an emergent result (their rows are empty), not a special case.
- Keep the labeler wait already in precheck so labels are settled before the union is computed.
### Priority
P2 – Medium
### Task Type
- [x] Code Implementation
- [x] DevOps / Deployment
--
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: notifications-unsubscribe@texera.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Redesign CI skip: map each label to its required stacks [texera]
Posted by "Yicong-Huang (via GitHub)" <gi...@apache.org>.
Yicong-Huang closed issue #4639: Redesign CI skip: map each label to its required stacks
URL: https://github.com/apache/texera/issues/4639
--
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: notifications-unsubscribe@texera.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org