Skip to content

Commit 0fe800f

Browse files
committed
ci(e2e): unique concurrency per dispatch + 15-min job timeouts
Two robustness fixes exposed by an offline self-hosted runner: - Concurrency: a workflow_dispatch run whose job is queued on an offline runner cannot be cancelled by GitHub, so under the shared per-ref concurrency group it deadlocked — blocking every later dispatch from starting. Give manual dispatches a unique group (github.run_id); push/PR/merge_group keep the shared per-ref group so new commits still supersede in-flight runs. - timeout-minutes: 15 on all E2E jobs, so a hung/slow job self-fails at the 15-min ceiling instead of running for hours — also enforces the per-platform time budget. Signed-off-by: fredespi <fredrik.espinoza@gmail.com>
1 parent b501132 commit 0fe800f

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,14 @@ on:
3030
options: [both, expect-pass, known-bugs]
3131

3232
concurrency:
33-
group: ${{ github.workflow }}-${{ github.ref }}
33+
# Manual dispatches get a UNIQUE group (run_id) so a run that gets stuck — e.g.
34+
# a job queued on a temporarily offline self-hosted runner, which GitHub cannot
35+
# cancel — never holds the shared group and blocks later dispatches. push / PR /
36+
# merge_group keep the shared per-ref group so a new commit still supersedes the
37+
# previous in-flight run.
38+
group: >-
39+
${{ github.workflow }}-${{ github.ref }}-${{
40+
github.event_name == 'workflow_dispatch' && github.run_id || 'shared' }}
3441
cancel-in-progress: true
3542

3643
permissions:
@@ -576,6 +583,7 @@ jobs:
576583
# jobs below.
577584
e2e:
578585
name: E2E tests
586+
timeout-minutes: 15
579587
runs-on: ubuntu-latest
580588
needs: [changes, build-and-test]
581589
# On push/PR/merge_group: unchanged — run when build-and-test succeeded and
@@ -624,6 +632,7 @@ jobs:
624632
# always-red check reviewers learn to ignore.
625633
e2e-known-bugs:
626634
name: E2E tests (known bugs)
635+
timeout-minutes: 15
627636
runs-on: ubuntu-latest
628637
needs: [changes, build-and-test]
629638
# See `e2e`: dispatch tolerates skipped build-and-test; mock tier, known-bugs.
@@ -662,6 +671,7 @@ jobs:
662671
# regression, never a known bug still reproducing.
663672
e2e-gpu:
664673
name: E2E tests (GPU)
674+
timeout-minutes: 15
665675
runs-on: [self-hosted, linux, amd-gpu]
666676
needs: [changes, build-and-test]
667677
# See `e2e`: dispatch tolerates skipped build-and-test; app-dev-gpu, expect-pass.
@@ -718,6 +728,7 @@ jobs:
718728
# scenario fails, or a parse/hook error occurs.
719729
e2e-gpu-known-bugs:
720730
name: E2E tests (GPU, known bugs)
731+
timeout-minutes: 15
721732
runs-on: [self-hosted, linux, amd-gpu]
722733
needs: [changes, build-and-test]
723734
# See `e2e`: dispatch tolerates skipped build-and-test; app-dev-gpu, known-bugs.
@@ -770,6 +781,7 @@ jobs:
770781
# `amd-gpu`, not `strix-halo`). Non-blocking while this hardware is proven out.
771782
e2e-gpu-strix-ubuntu:
772783
name: E2E tests (Strix Halo, Ubuntu)
784+
timeout-minutes: 15
773785
runs-on: [self-hosted, linux, strix-halo]
774786
needs: [changes, build-and-test]
775787
# See `e2e`: dispatch tolerates skipped build-and-test; strix-ubuntu, expect-pass.
@@ -833,6 +845,7 @@ jobs:
833845

834846
e2e-gpu-strix-ubuntu-known-bugs:
835847
name: E2E tests (Strix Halo, Ubuntu, known bugs)
848+
timeout-minutes: 15
836849
runs-on: [self-hosted, linux, strix-halo]
837850
needs: [changes, build-and-test]
838851
# See `e2e`: dispatch tolerates skipped build-and-test; strix-ubuntu, known-bugs.
@@ -896,6 +909,7 @@ jobs:
896909
# first-run breakage to triage; non-blocking so it never gates the PR.
897910
e2e-gpu-strix-windows:
898911
name: E2E tests (Strix Halo, Windows)
912+
timeout-minutes: 15
899913
runs-on: [self-hosted, windows, strix-halo]
900914
needs: [changes, build-and-test]
901915
# See `e2e`: dispatch tolerates skipped build-and-test; strix-windows, expect-pass.
@@ -944,6 +958,7 @@ jobs:
944958

945959
e2e-gpu-strix-windows-known-bugs:
946960
name: E2E tests (Strix Halo, Windows, known bugs)
961+
timeout-minutes: 15
947962
runs-on: [self-hosted, windows, strix-halo]
948963
needs: [changes, build-and-test]
949964
# See `e2e`: dispatch tolerates skipped build-and-test; strix-windows, known-bugs.

0 commit comments

Comments
 (0)