Repository navigation
Migrate GitHub Actions to self-hosted Mac mini runners - #54
Merged
Merged
Conversation
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]>
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.
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
ci.ymlcheckdocs.ymlbuild,deploynpx playwright install chromium(no--with-deps)e2e.ymltestnetHOME=$RUNNER_TEMP/e2e-homeso a persistent mini cannot reuse~/.bloxwapinstall.ymlinstall(4-way matrix)linux/amd64Node containers with a mounted Linux Bunrelease.ymlbuild,publishlinux-x64,linux-arm64,darwin-x64, anddarwin-arm64. Linux binaries smoke inlinux/amd64andlinux/arm64containers; darwin-x64 smokes under Rosetta (arch -x86_64). Every target and its smoke test is kept. Publish also runs on the Mac fleetversion.ymlversionNothing was left on GitHub-hosted
ubuntu-*/macos-*images.Runner prerequisites
Documented in
docs/ci-runners.md. Each runner needs:self-hosted,macOS,ARM64git,tar,unzip,curl)colima start --vm-type vz --vz-rosetta(jobs runcolima status || colima start)debian:bookworm-slim(amd64+arm64) andnode:22.12.0-bookworm/node:24-bookworm(amd64)$RUNNER_TEMP