Skip to content

Commit ea117c4

Browse files
committed
ci: allow manual E2E runs via workflow_dispatch
Add a workflow_dispatch trigger with platform and tier inputs so the E2E jobs on the self-hosted GPU runners can be run on demand against any ref, without a push or the full pipeline. A manual dispatch skips build-and-test for a fast loop; nothing on the default branch depends on that job, so skipping it is safe here. The trigger must exist on the default branch for the workflow to be dispatchable at all; the E2E jobs that consume these inputs live on their own branch and are run by dispatching against that ref. Signed-off-by: fredespi <fredrik.espinoza@gmail.com>
1 parent 74ee17d commit ea117c4

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,24 @@ on:
1010
merge_group:
1111
branches: [main]
1212
types: [checks_requested]
13+
# Manual trigger for on-demand E2E runs on the self-hosted GPU runners, without
14+
# waiting on a push/PR or the full gate. Dispatch against any ref
15+
# (`gh workflow run ci.yml --ref <branch> -f platform=... -f tier=...`) — GitHub
16+
# runs THAT ref's copy of this file, so the E2E jobs it selects live on the ref.
17+
# A dispatch skips build-and-test (see its `if:`) for a fast loop. This trigger
18+
# must exist on the default branch for the workflow to be dispatchable at all.
19+
workflow_dispatch:
20+
inputs:
21+
platform:
22+
description: Which GPU runner(s) to target
23+
type: choice
24+
default: all
25+
options: [all, app-dev-gpu, strix-ubuntu, strix-windows]
26+
tier:
27+
description: Which scenario tier(s) to run
28+
type: choice
29+
default: both
30+
options: [both, expect-pass, known-bugs]
1331

1432
concurrency:
1533
group: ${{ github.workflow }}-${{ github.ref }}
@@ -96,6 +114,9 @@ jobs:
96114
runs-on: ubuntu-latest
97115
# Don't spend per-OS build/test cycles unless the cheap lint gate is green.
98116
needs: [changes, clippy, prek]
117+
# A manual E2E dispatch skips this heavy job for a fast loop; the E2E jobs
118+
# tolerate a skipped build-and-test in their own `if:` guards.
119+
if: github.event_name != 'workflow_dispatch'
99120
steps:
100121
- uses: actions/checkout@v6
101122

0 commit comments

Comments
 (0)