Skip to content

test(e2e): run the E2E suite on the self-hosted WSL2 runner - #141

Draft
rominf wants to merge 3 commits into
mainfrom
worktree-test-hosted-wsl-e2e
Draft

test(e2e): run the E2E suite on the self-hosted WSL2 runner#141
rominf wants to merge 3 commits into
mainfrom
worktree-test-hosted-wsl-e2e

Conversation

@rominf

@rominf rominf commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • run the full black-box Cucumber suite in the Ubuntu-under-WSL2 distro on the self-hosted Strix Halo box (runs-on: [self-hosted, linux, strix-halo, wsl])
  • mirror the native self-hosted Linux lane step for step: stray-serve reclaim, bounded GPU preflight, toolchain bootstrap, shared-runtime pre-warm, then the whole suite with no hand filtering
  • add @requires-wsl / @requires-no-wsl capability tags, a WSL system-inspection scenario, and a distinct WSL platform identity in the report grid

Why: WSL-specific behavior had parser and self-test coverage but nothing running inside a real WSL2 host. Nothing was filtered by hand — the capability probe resolves each scenario against the live host, so GPU scenarios report as not applicable if the distro has no GPU access rather than failing.

GPU preflight is advisory on this lane specifically: GPU access under WSL is what the lane is proving out, so a missing rocm-smi warns and continues. A GPU that is present but still held by a leftover serve still fails, since that would corrupt the serve scenarios.

Risk: medium. The lane is continue-on-error: true and the existing required checks are unchanged. Dispatch selector is strix-wsl, matching the sibling hardware lanes.

Test plan

  • cargo test -p e2e-cucumber --lib
  • cargo xtask e2e -- --name 'System inspection recognizes a WSL host' — passes on a real WSL2 host (probe reported platform=wsl os=linux gpu=false)
  • cargo fmt --all -- --check, clippy, license/YAML/signature/DCO hooks
  • CI: the lane itself has to run on the runner to be verified end to end

The full local workspace test hook still hits the pre-existing WSL2 process-tree failures in proc_lifecycle::tests::tree_stop_waits_for_descendants and tree_forced_kill_reaches_sigterm_ignoring_descendant; both fail identically on a clean main checkout.

@rominf
rominf changed the base branch from main to ci-shared-windows-strix-runners July 23, 2026 14:25
@rominf
rominf marked this pull request as draft July 23, 2026 14:25
@rominf
rominf force-pushed the ci-shared-windows-strix-runners branch from bb89ce9 to cf10418 Compare July 24, 2026 12:23
Base automatically changed from ci-shared-windows-strix-runners to main July 27, 2026 15:14
@rominf
rominf force-pushed the worktree-test-hosted-wsl-e2e branch from b1083d5 to 3462382 Compare July 28, 2026 08:32
rominf added 3 commits July 29, 2026 13:38
Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
Target the Ubuntu-under-WSL2 runner on the Strix Halo box (the `wsl`
label; the native Strix Linux runner carries `native`) instead of
registering a throwaway distro on a hosted windows-latest VM.

The lane now mirrors the other self-hosted Linux lane step for step:
stray-serve reclaim, bounded GPU preflight, toolchain bootstrap, shared
runtime pre-warm, and the full suite with no hand filtering. GPU
preflight is advisory here because GPU access under WSL is what this
lane is proving out: when it is unavailable the capability probe
resolves those scenarios to skip and the rest of the suite still runs.

Dispatch selector is `strix-wsl`, matching the sibling hardware lanes.

Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
@rominf
rominf force-pushed the worktree-test-hosted-wsl-e2e branch from 3462382 to 8bff5d1 Compare July 29, 2026 13:51
@rominf rominf changed the title test(e2e): exercise hosted WSL2 test(e2e): run the E2E suite on the self-hosted WSL2 runner Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant