This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch release/v1.1.0-incubating
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/release/v1.1.0-incubating by 
this push:
     new 7bf1a3992e feat(ci): skip non-frontend stacks on frontend-only PRs 
(#4626)
7bf1a3992e is described below

commit 7bf1a3992e24bdc89433359b49b395fe0304d076
Author: Yicong Huang <[email protected]>
AuthorDate: Sat May 2 01:59:36 2026 +0000

    feat(ci): skip non-frontend stacks on frontend-only PRs (#4626)
    
    ### What changes were proposed in this PR?
    
    Skip the non-frontend stacks (`scala`, `python`, `agent-service`) when a
    PR's labels are a subset of `{frontend, docs, dev}` and `frontend` is
    present. Mirror of the existing "skip frontend if no `frontend` label"
    rule from #4622.
    
    Updated `precheck` decision table:
    
    | PR labels | frontend | scala | python | agent-service |
    |---|---|---|---|---|
    | only `docs` and/or `dev` | skip | skip | skip | skip |
    | `frontend` (with optional `docs` / `dev`) | **run** | **skip** |
    **skip** | **skip** |
    | no `frontend` label | skip | run | run | run |
    | any other combination | run | run | run | run |
    
    The backport matrix automatically inherits the same skip decisions
    through the existing `run_*` plumbing in `required-checks.yml`.
    
    ### Any related issues, documentation, discussions?
    
    Closes #4625. Builds on #4622 (this PR is stacked on
    `feat/label-based-stack-routing`).
    
    ### How was this PR tested?
    
    To exercise after merge: open a frontend-only PR (only `frontend/**`
    files, labels: just `frontend`); precheck should set `run_frontend=true`
    and the other three to `false`. Open a docs-only PR for the all-skip
    path; open a python-only PR for the existing "skip frontend" path.
    
    ### Was this PR authored or co-authored using generative AI tooling?
    
    Generated-by: Claude Opus 4.7
    
    Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
    
    (backported from commit 1e996cd90bef0c7e0b8034ef16fc79c182a62d4b)
---
 .github/workflows/required-checks.yml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/.github/workflows/required-checks.yml 
b/.github/workflows/required-checks.yml
index 2f858cd951..d9100fc06c 100644
--- a/.github/workflows/required-checks.yml
+++ b/.github/workflows/required-checks.yml
@@ -107,10 +107,15 @@ jobs:
             }
 
             const SKIP_ONLY = new Set(["docs", "dev"]);
+            const FRONTEND_ONLY_ALLOWED = new Set(["frontend", "docs", "dev"]);
             const onlySkippable =
               eventName === "pull_request" &&
               labels.length > 0 &&
               labels.every((l) => SKIP_ONLY.has(l));
+            const frontendOnly =
+              eventName === "pull_request" &&
+              labels.includes("frontend") &&
+              labels.every((l) => FRONTEND_ONLY_ALLOWED.has(l));
 
             let runFrontend = true;
             let runScala = true;
@@ -120,6 +125,9 @@ jobs:
             if (onlySkippable) {
               runFrontend = runScala = runPython = runAgentService = false;
               core.info("Labels are docs/dev only; skipping all build 
stacks.");
+            } else if (frontendOnly) {
+              runScala = runPython = runAgentService = false;
+              core.info("Labels touch only frontend; skipping non-frontend 
stacks.");
             } else if (eventName === "pull_request" && 
!labels.includes("frontend")) {
               runFrontend = false;
               core.info("No frontend label; skipping frontend stack.");

Reply via email to