Skip to content

Commit 4546a2e

Browse files
committed
ci: add GPU E2E job on self-hosted runner (app-dev)
Runs all 20 cucumber scenarios on the app-dev-gpu self-hosted runner with real AMD GPU hardware. Fails the build on test failures — no continue-on-error. Expected-failure scenarios will fail until the corresponding bugs are fixed. Signed-off-by: fredespi <fredrik.espinoza@gmail.com>
1 parent f2c6329 commit 4546a2e

1 file changed

Lines changed: 24 additions & 8 deletions

File tree

.github/workflows/ci.yml

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -414,12 +414,10 @@ jobs:
414414
# ── E2E tests (cucumber-rs) ───────────────────────────────────────────────
415415
#
416416
# BDD scenarios in Gherkin (.feature files) backed by Rust step functions.
417-
# Runs on hosted runners — mock-tier tests use an in-process mock server,
418-
# GPU-tier tests are tagged @expected-failure and skipped until hardware
419-
# runners are available.
417+
# Two tiers: hosted (mock server, no GPU) and self-hosted (real GPU hardware).
420418

421419
e2e:
422-
name: E2E tests (cucumber-rs)
420+
name: E2E tests
423421
runs-on: ubuntu-latest
424422
needs: [changes, build-and-test]
425423
if: needs.changes.outputs.heavy == 'true'
@@ -445,7 +443,25 @@ jobs:
445443
name: e2e-report
446444
path: tests/e2e-cucumber/results/
447445

448-
# Hardware (real AMD GPU / WSL) smoke tests on dedicated self-hosted runners
449-
# are planned beyond the E2E tests above. See docs/ci-hardware-testing.md
450-
# for the full design covering per-engine GPU validation, WSL testing, and
451-
# Windows native testing.
446+
e2e-gpu:
447+
name: E2E tests (GPU)
448+
runs-on: [self-hosted, linux, amd-gpu]
449+
needs: [changes, build-and-test]
450+
if: needs.changes.outputs.heavy == 'true'
451+
steps:
452+
- uses: actions/checkout@v6
453+
454+
- uses: actions-rust-lang/setup-rust-toolchain@v1
455+
456+
- name: Run E2E tests on GPU hardware
457+
run: |
458+
cargo build --release -p rocm
459+
ROCM_CLI_BINARY=${{ github.workspace }}/target/release/rocm \
460+
cargo test -p e2e-cucumber --test e2e
461+
462+
- name: Upload E2E report
463+
if: always()
464+
uses: actions/upload-artifact@v4
465+
with:
466+
name: e2e-gpu-report
467+
path: tests/e2e-cucumber/results/

0 commit comments

Comments
 (0)