fix(ci): gate long-running tests by target branch, not label [skip-regression-check]

Replace label-based gating with branch-based: run full suite unless
PR targets staging. Fixes timing bug where gh pr create --label adds
the label after the opened event, causing gated jobs to never run.

- Developer PRs (-> staging): fast tests only
- Promotion PRs (-> main): full suite
- Chained PRs (-> staging-promote/*): full suite
- Push to main: full suite
- workflow_call: fast tests only

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
Henry Park
2026-03-09 15:44:49 -07:00
co-authored by Claude Sonnet 4.6
parent fb8ac7455e
commit 6685f2ca9d
+4 -4
View File
@@ -41,7 +41,7 @@ jobs:
name: Telegram Channel Tests
if: >
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'staging-promotion')
(github.event_name == 'pull_request' && github.base_ref != 'staging')
runs-on: ubuntu-latest
steps:
- name: Checkout repository
@@ -56,7 +56,7 @@ jobs:
name: Windows Build (${{ matrix.name }})
if: >
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'staging-promotion')
(github.event_name == 'pull_request' && github.base_ref != 'staging')
runs-on: windows-latest
strategy:
fail-fast: false
@@ -83,7 +83,7 @@ jobs:
name: WASM WIT Compatibility
if: >
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'staging-promotion')
(github.event_name == 'pull_request' && github.base_ref != 'staging')
runs-on: ubuntu-latest
steps:
- name: Checkout repository
@@ -106,7 +106,7 @@ jobs:
name: Docker Build
if: >
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'staging-promotion')
(github.event_name == 'pull_request' && github.base_ref != 'staging')
runs-on: ubuntu-latest
steps:
- name: Checkout repository