Skip to content

Run selftest on self-hosted macOS like every other job - #7

Merged
sarensw merged 1 commit into
mainfrom
selftest-on-self-hosted
Aug 6, 2026
Merged

Run selftest on self-hosted macOS like every other job#7
sarensw merged 1 commit into
mainfrom
selftest-on-self-hosted

Conversation

@sarensw

@sarensw sarensw commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

selftest was the last ubuntu-latest job in the repo — and the only workflow that stopped dispatching.

Evidence

runs for PR #3, PR #5, and both merges to main none — zero check runs created
Actions enabled / workflow active yes
reopening a PR to re-fire pull_request no effect
last successful selftest 2026-07-27
every [self-hosted, macOS] job in the org running normally throughout

GitHub-hosted runners are a separate capacity/billing path from ours, so a block there takes out exactly this job. The correlation is one-to-one: the only hosted job is the only broken one. (Billing wasn't checkable without admin:org.)

Changes

  • selftest[self-hosted, macOS]. Nothing needs Linux: actionlint ships a darwin build, the tests are offline python3 + git.
  • actionlint installs into $RUNNER_TEMP instead of the workspace — a self-hosted runner reuses its checkout, so ./actionlint would otherwise sit untracked in the working tree between runs.
  • Two comments left stale by v0.4.7 (distribute-pr.yml, memory-watch.yml) still described self-hosted prepare jobs as running "on ubuntu".

No new tag needed: selftest isn't a reusable workflow, and the rest is comment-only.

Verified locally

grep -rn 'runs-on:.*ubuntu' .github/workflows/*.yml   → no matches
actionlint (same ignores)                             → CLEAN
bash tests/run.sh                                     → ALL TESTS PASSED ✅

This PR is its own proof: if selftest finally runs here, the hosted-runner theory is confirmed.

Closes #6

selftest was the last ubuntu-latest job in the repo, and also the only
workflow that stopped dispatching: no run for PRs #3 or #5, none for
either merge to main, zero check runs created, and reopening a PR to
re-fire pull_request changed nothing. Every self-hosted job kept running
throughout.

GitHub-hosted runners are a separate capacity and billing path from our
own, so a block there takes out exactly this job and nothing else. The
correlation is one-to-one: the only hosted job is the only broken one.

Nothing here needs Linux — actionlint ships a darwin build and the tests
are offline python3 plus git.

Install actionlint into RUNNER_TEMP rather than the workspace. A
self-hosted runner reuses its checkout, so ./actionlint would otherwise
sit untracked in the working tree between runs.

Also drop two comments left stale by v0.4.7, which moved every job to
self-hosted but kept describing the prepare jobs as running on ubuntu.
Comment-only, so callers are unaffected and no new tag is needed;
selftest is not a reusable workflow, so no pin changes either.

Closes #6
@sarensw
sarensw merged commit 265a110 into main Aug 6, 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.

selftest is the last ubuntu-latest job — and the only one that stopped running

1 participant