@@ -4,12 +4,10 @@ name: Integration (Mac M4)
44# tests/integration/ against real Qwen3-0.6B on Apple Silicon.
55#
66# Trigger model:
7- # - Pull-request events. Only fires when the PR carries the
8- # ``needs-mac-m4`` label (auto-applied by .github/workflows/
9- # auto-label-mac.yaml when a PR touches inference_engine/,
10- # sdks/, proto/, or tests/integration/). PRs that don't touch
11- # verifier-dependent code skip this gate entirely so the runner
12- # pool isn't burned on doc-only or CI-only PRs.
7+ # - Pull-request events touching runtime/model/proto/integration paths.
8+ # Path filtering is used directly instead of depending on an auto-label:
9+ # workflows triggered with GITHUB_TOKEN do not recursively trigger the
10+ # ``labeled`` event, which previously made the first Mac gate skip.
1311# - Manual workflow_dispatch for re-runs from the Actions UI.
1412#
1513# Runner requirements (self-hosted):
2725 # Only run on PR events for branches targeting main.
2826 types : [opened, synchronize, reopened, labeled]
2927 branches : [main]
28+ paths :
29+ - " inference_engine/**"
30+ - " kv_cache_proposer/**"
31+ - " proto/**"
32+ - " sdks/**"
33+ - " tests/integration/**"
34+ - " tests/backends/mlx/**"
35+ - " .github/workflows/integration.yaml"
3036 workflow_dispatch : {}
3137
3238# Cancel superseded runs on the same PR — saves runner time when
@@ -39,13 +45,6 @@ concurrency:
3945jobs :
4046 integration :
4147 name : pytest -m integration on Mac M4
42- # Only fire on labeled PRs (this saves the runner pool from
43- # doc-only / CI-only PRs that don't touch verifier-dependent
44- # code). The auto-label workflow adds 'needs-mac-m4' on file
45- # paths that warrant the GA gate.
46- if : |
47- github.event_name == 'workflow_dispatch' ||
48- contains(github.event.pull_request.labels.*.name, 'needs-mac-m4')
4948 runs-on : [self-hosted, macOS, ARM64, kakeya-mac-m4]
5049 timeout-minutes : 90
5150 steps :
0 commit comments