Skip to content

ci(self-test): move off the GitHub-hosted runner (PS-169)#13

Merged
ywatanabe1989 merged 1 commit into
mainfrom
ci/self-test-off-hosted-runner
Jul 22, 2026
Merged

ci(self-test): move off the GitHub-hosted runner (PS-169)#13
ywatanabe1989 merged 1 commit into
mainfrom
ci/self-test-off-hosted-runner

Conversation

@ywatanabe1989

Copy link
Copy Markdown
Contributor

Found while re-validating #4 against today's main.

self-test.yml landed 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 on ubuntu-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@v5 for astral-sh/setup-uv@v7 + uv venv --seed. setup-python expects 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. --seed for the same reason as #11 (a bare uv venv ships no pip).

Verified

Parsed every workflow in .github/workflows/ with yaml.safe_load and resolved each job's effective runs-on:

hosted-runner jobs remaining: NONE

spartan-cpu is the correct pool, not scitex-ci: three org runners carry spartan-cpu (spartan-cpu-org-01/-02, spartan-pooled-cpu-01) and only one carries scitex-ci. 65 of the 66 org repos that set CI_RUNS_ON set it to the spartan-cpu label set. Full evidence in the comment on #4.

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.
@ywatanabe1989
ywatanabe1989 merged commit 09c824a into main Jul 22, 2026
1 check passed
@ywatanabe1989
ywatanabe1989 deleted the ci/self-test-off-hosted-runner branch July 22, 2026 11:22
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