Skip to content

Migrate GitHub Actions to self-hosted Mac mini runners - #54

Merged
joeblau merged 2 commits into
mainfrom
cursor/self-hosted-mac-runners-a360
Oct 18, 2026
Merged

joeblau merged 2 commits into
mainfrom
cursor/self-hosted-mac-runners-a360

Conversation

@joeblau

@joeblau joeblau commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Joe approved moving every GitHub Actions job onto the self-hosted Mac mini fleet.

All jobs now use runs-on: [self-hosted, macOS, ARM64]. CI may stay queued until a labeled runner picks the workflow up. Do not merge this PR from Actions.

Jobs changed

Workflow Jobs What changed
ci.yml check Native darwin-arm64
docs.yml build, deploy Native darwin-arm64. Playwright is npx playwright install chromium (no --with-deps)
e2e.yml testnet Native darwin-arm64. HOME=$RUNNER_TEMP/e2e-home so a persistent mini cannot reuse ~/.bloxwap
install.yml install (4-way matrix) macOS Node 22.12/24 stay native. Linux Node 22.12/24 pack on the Mac, then smoke inside Colima linux/amd64 Node containers with a mounted Linux Bun
release.yml build, publish Single Mac job cross-compiles linux-x64, linux-arm64, darwin-x64, and darwin-arm64. Linux binaries smoke in linux/amd64 and linux/arm64 containers; darwin-x64 smokes under Rosetta (arch -x86_64). Every target and its smoke test is kept. Publish also runs on the Mac fleet
version.yml version Native darwin-arm64

Nothing was left on GitHub-hosted ubuntu-* / macos-* images.

Runner prerequisites

Documented in docs/ci-runners.md. Each runner needs:

  • Apple silicon Mac mini, GitHub runner labels self-hosted, macOS, ARM64
  • Rosetta 2
  • Xcode Command Line Tools (git, tar, unzip, curl)
  • Colima + Docker CLI, started once with colima start --vm-type vz --vz-rosetta (jobs run colima status || colima start)
  • Node 24 and Bun 1.3.10 (workflows also pin these)
  • Pre-pulled debian:bookworm-slim (amd64+arm64) and node:22.12.0-bookworm / node:24-bookworm (amd64)
  • Playwright Chromium for macOS (no apt)
  • Outbound GitHub, npm, Docker Hub, Playwright CDN, and testnet/Privy for e2e
  • No sudo/apt in jobs; scratch space is $RUNNER_TEMP
Open in Web Open in Cursor 

cursoragent and others added 2 commits October 18, 2026 00:42
Run every workflow on [self-hosted, macOS, ARM64]. Cross-compile release
binaries on the Mac, smoke Linux targets in Colima, and keep the Linux
install matrix inside linux/amd64 containers. Playwright no longer uses
--with-deps; CI helpers are POSIX and use $RUNNER_TEMP.

Co-authored-by: Joe Blau <[email protected]>
Colima virtiofs cannot mkdir on a read-only bind of the Actions workspace.
Copy Linux install smokes into $HOME/.bloxwap-ci before docker run, and
install GNU tar so upload-pages-artifact can archive the docs site.

Co-authored-by: Joe Blau <[email protected]>
@joeblau
joeblau marked this pull request as ready for review October 18, 2026 17:13
@joeblau
joeblau merged commit 523eb40 into main Oct 18, 2026
8 checks passed
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.

2 participants