ci: run integration tests on macOS using Colima with Apple VZ#996
Open
grdsdev wants to merge 9 commits into
Open
ci: run integration tests on macOS using Colima with Apple VZ#996grdsdev wants to merge 9 commits into
grdsdev wants to merge 9 commits into
Conversation
Switch from ubuntu-latest (Docker) to macos-15 with Colima using --vm-type vz (Apple Virtualization Framework) instead of QEMU, which doesn't work reliably on macOS GitHub Actions runners. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rosetta is not installed on the macos-15 runner, causing the VZ VM to exit immediately. Supabase images ship native linux/arm64 builds so Rosetta is not needed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…N flakiness brew install colima fails intermittently because it downloads lima, colima, docker, and docker-completion all via Homebrew's CDN. Move Lima and Colima to direct GitHub release downloads; keep only the Docker CLI on Homebrew (two small packages). Also set HOMEBREW_GITHUB_API_TOKEN to reduce rate-limit risk for the remaining brew step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Direct Lima download failed with 404 (Lima releases use Darwin not macOS in the filename). The first CDN failure was transient — docker installed fine via brew in the same run. Go back to the simpler brew approach. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
VZ mode consistently fails on macos-15 runners (the runner VM likely lacks the hypervisor entitlements VZ requires). Try QEMU which uses the older Hypervisor.framework path. Print ha.stderr.log on failure for diagnostics. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
QEMU mode requires qemu-img which is not bundled with Colima. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Docker/VM-based approaches (Colima VZ and QEMU) both fail on GitHub's macOS ARM64 runners due to nested virtualization restrictions. Switch to a hosted Supabase project dedicated to CI. - Remove Colima setup entirely - Link to project via SUPABASE_ACCESS_TOKEN + INTEGRATION_PROJECT_REF - Reset DB with `supabase db reset --linked` before each run - Pass URL/keys to tests via env vars (SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY) - Serialize runs with job-level concurrency group to avoid DB conflicts - DotEnv.swift now reads from env vars with local defaults as fallback Secrets required in the repo: SUPABASE_ACCESS_TOKEN, INTEGRATION_PROJECT_REF, INTEGRATION_DB_PASSWORD, INTEGRATION_SUPABASE_URL, INTEGRATION_SUPABASE_ANON_KEY, INTEGRATION_SUPABASE_SERVICE_ROLE_KEY Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
Summary
ubuntu-latest(Docker) tomacos-15(Apple Silicon)--vm-type vz(Apple's native Virtualization Framework) instead of QEMU, which is the likely reason Colima previously failed on macOS runners--vz-rosettafor x86_64 image compatibilityTest plan
Integration Tests (macOS)job passes in CIlinuxjob andci-successgate🤖 Generated with Claude Code