ci(self-test): move off the GitHub-hosted runner (PS-169)#13
Merged
Conversation
self-test.yml landed on main today, after #4 was cut, so #4 could not see it. That left the repo that DEFINES the zero-hosted-runner mandate as the only workflow in it still declaring runs-on: ubuntu-latest. Uses uv rather than actions/setup-python: setup-python depends on a runner tool-cache the Spartan image does not populate, whereas every other workflow here already builds its interpreter with uv on this exact pool.
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.
Found while re-validating #4 against today's main.
self-test.ymllanded on main today (with the auto-merge dispatch work), after #4 was cut on 2026-07-14. So #4 — the PR whose entire purpose is "the shared workflows themselves must never use a GitHub-hosted runner" — could not see it, and merging #4 left exactly one workflow in this repo still onubuntu-latest: the self-test. The repo that defines the mandate was the only one breaking it.Change
runs-on: ubuntu-latest->runs-on: [self-hosted, Linux, X64, spartan-cpu], matching all six other workflows here.Also swaps
actions/setup-python@v5forastral-sh/setup-uv@v7+uv venv --seed.setup-pythonexpects a runner tool-cache that the Spartan image does not populate; every other workflow in this repo already builds its interpreter with uv on this exact pool, so this follows a pattern proven on the target runner instead of inventing a new one.--seedfor the same reason as #11 (a bareuv venvships no pip).Verified
Parsed every workflow in
.github/workflows/withyaml.safe_loadand resolved each job's effectiveruns-on:spartan-cpuis the correct pool, notscitex-ci: three org runners carryspartan-cpu(spartan-cpu-org-01/-02,spartan-pooled-cpu-01) and only one carriesscitex-ci. 65 of the 66 org repos that setCI_RUNS_ONset it to thespartan-cpulabel set. Full evidence in the comment on #4.