ci: pin Strix Halo jobs to the native runners - #146
Merged
Conversation
The "E2E tests (Strix Halo, Ubuntu)" job intermittently failed at its very first step with "Permission denied" on mkdir, red-X-ing unrelated PRs. Three self-hosted Strix Halo runners share the `strix-halo` label, and two of them are Linux: the native Ubuntu host and a WSL host. `runs-on: [self-hosted, linux, strix-halo]` matched both, so the job was scheduled onto whichever was free. Its setup hardcodes /home/ubuntu/actions-runner paths — the only partition with free space on the native host — which do not exist and are not writable on the WSL host, where the runner executes as a different user under a different home. Landing on the native runner passed; landing on WSL failed immediately. The same latent mismatch exists in nightly.yml's Strix job, which copies the same paths. Add the `native` label to the runner selector for these jobs so scheduling is deterministic. The Windows jobs are already unambiguous in practice (the WSL runner is labelled Linux, not Windows), but they are pinned too so every Strix selector reads the same way and stays correct if the WSL host ever gains a Windows label. The hardcoded paths are left as-is here; making them runner-agnostic is a separate change. Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
juhovainio
approved these changes
Jul 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
"E2E tests (Strix Halo, Ubuntu)" has been intermittently failing on unrelated
PRs (#139, #140, #141), dying at its very first step with
Permission deniedon
mkdir. #143 passed only because it happened to be scheduled elsewhere.Three self-hosted Strix Halo runners share the
strix-halolabel, and two ofthem are Linux: the native Ubuntu host and a WSL host. The job's selector,
runs-on: [self-hosted, linux, strix-halo], matched both, so it landed onwhichever runner was free.
That job's setup hardcodes
/home/ubuntu/actions-runner/...forHOME,TMPDIR, and the pip cache — the native host's root partition is full andthat nvme is the only place with space. On the WSL host the runner executes
as a different user under a different home, so those
mkdirs fail outrightand the job dies immediately. Failing runs report
runner_name: strix-halo-wsl; the passing one reportsstrix-halo-ubuntu.The nightly Strix job in
nightly.ymlcopies the same hardcoded paths and thesame ambiguous selector, so it has the same latent failure — just less
visibly, since it is nightly and non-blocking.
Change
Add the
nativelabel to the runner selector for the Strix jobs, makingscheduling deterministic. The Windows jobs are already unambiguous in practice
(the WSL runner is labelled
Linux, notWindows), but they are pinned too soevery Strix selector reads the same way and stays correct if the WSL host ever
gains a Windows label.
The comment above the Ubuntu job's
env:block now notes that the hardcodedpaths are the reason for the pin, so the coupling is obvious to the next reader.
Notes
nativelabel onstrix-halo-ubuntuandstrix-halo-windows;this is already applied and live.
adding any job for the WSL runner. Both are separate follow-ups.