From aec236d32e4f56001f2859fdf0f8ae55a081817d Mon Sep 17 00:00:00 2001 From: Sergey Kozyrenko Date: Fri, 24 Jul 2026 02:37:15 +0700 Subject: [PATCH] fix(ci): gate the stand run on the label just added, not the whole label set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The job triggers on `pull_request: [labeled]`, but the guard tested `contains(labels.*.name, 'e2e:stand')` — the label *set*, not the label that fired the event. So adding ANY label to a PR that already carries `e2e:stand` re-triggered the run, and `cancel-in-progress` then killed the approved, in-flight stand run and re-pinged the environment reviewers. Gates on `github.event.label.name` instead; workflow_dispatch is unchanged, and the job only listens to labeled + dispatch so the event always carries a label name. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/e2e-stand.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-stand.yml b/.github/workflows/e2e-stand.yml index e5a730e7..069a4b9a 100644 --- a/.github/workflows/e2e-stand.yml +++ b/.github/workflows/e2e-stand.yml @@ -30,7 +30,7 @@ jobs: e2e-stand: if: > github.event_name == 'workflow_dispatch' || - contains(github.event.pull_request.labels.*.name, 'e2e:stand') + github.event.label.name == 'e2e:stand' runs-on: ubuntu-latest timeout-minutes: 30 environment: e2e-stand