Yicong-Huang opened a new pull request, #4640:
URL: https://github.com/apache/texera/pull/4640
### What changes were proposed in this PR?
Replace the precheck's hand-written rule cascade in `required-checks.yml`
(skip all on `docs`/`dev` only, skip frontend if no `frontend` label, …) with a
static label → required-stacks map. The run set is the union of stacks across
the PR's current labels.
```js
const LABEL_STACKS = {
frontend: ["frontend"],
python: ["scala", "python"], // pyamber drives scala
integration tests too
engine: ["scala", "python"], // amber/** spans both
service: ["scala", "agent-service"],
common: ["scala"],
"ddl-change":["scala"],
ci: ["frontend", "scala", "python", "agent-service"],
};
```
Resulting decision per PR label set:
| PR labels | frontend | scala | python | agent-service |
|---|---|---|---|---|
| only `docs` and/or `dev` (or empty) | skip | skip | skip | skip |
| `frontend` only | run | skip | skip | skip |
| `python` (with anything compatible) | skip / run | run | run | skip / run |
| `engine` | skip | run | run | skip |
| `service` | skip | run | skip | run |
| `common` / `ddl-change` | skip | run | skip | skip |
| `ci` | run | run | run | run |
| any combination | union of the rows above | | | |
Labels not in `LABEL_STACKS` (`docs`, `dev`, `dependencies`, `release/*`,
branch-name labels) contribute no stacks. `dependencies` is intentionally a
no-op: every dep manifest the labeler matches already sits under a component
directory and is covered by that component's label (`frontend/package.json` →
`frontend`, `*-service/build.sbt` → `service`,
`amber/{,operator-}requirements.txt` → `engine`).
Push and `workflow_dispatch` events keep the all-true default.
### Any related issues, documentation, discussions?
Closes #4639. Sub-issue of #4627.
### How was this PR tested?
To be exercised by this PR's own run on CI: it touches
`.github/workflows/**`, which gives it the `ci` label, so every stack should
run. Removing `ci` (manually, for testing) and leaving only `docs` should skip
everything; adding `frontend` only should run only the frontend 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]