{"slug": "cirrus-ci-alternative-for-macos-where-those-jobs-go", "title": "Cirrus CI alternative for macOS: where those jobs go", "summary": "A Latchkey analysis published 2026-09-20 compares five vendors offering macOS CI runners as replacements for Cirrus CI, which shut down on 1 June 2026, and Cirrus Runners, which is closed to new customers. The writeup ranks published macOS rates from Namespace at $0.04 per minute through GitHub-hosted at $0.062 to Blacksmith, WarpBuild and Depot at $0.08, noting that macOS minutes account for 68% to 83% of a typical metered CI bill and that runner shapes vary by a factor of two in cores. Latchkey discloses it has no macOS runner at any price.", "body_md": "The only Cirrus CI alternative question still open is the macOS one. Cirrus CI stopped running jobs on 1 June 2026 and Cirrus Runners is closed to new customers, and while the Linux half of a Cirrus pipeline has more destinations than you need at a tenth of the price, the macOS half is where the invoice lives. The disclosure that belongs at the top rather than the bottom: Latchkey has no macOS runner at any price, so it cannot take that half from you.\n\n*One month of 8,000 Linux minutes and 2,000 macOS minutes at the rates published on 2026-09-20. The macOS half is 68% to 83% of every metered bar.*\n\nTwo products ended on two timetables, and confusing them sends you to the wrong page. On 7 April 2026 Cirrus Labs announced it had agreed to join OpenAI as part of the Agent Infrastructure team. The same post says \"Cirrus CI will shut down effective Monday, June 1, 2026\", which is the hosted platform that reads your `.cirrus.yml`. Cirrus Runners, the separate product that attaches macOS and Linux runners to GitHub Actions, is \"no longer accepting new customers\" and is supported \"for existing customers through their existing contract periods\".\n\nSo a Cirrus CI user has already been cut off, and a Cirrus Runners user has until the contract ends. Either way the macOS jobs are the part worth pricing first, because GitHub lists $0.062 a minute for a 3-core or 4-core macOS runner against $0.006 for Linux 2-core x64, and rounds every job up to the whole minute on top. The step-by-step translation out of `.cirrus.yml` is in [migrate from Cirrus CI](https://latchkey.dev/learn/runners/migrate-from-cirrus-ci); this page is only about where the macOS work lands.\n\nFive vendors publish a macOS runner, a shape and a rate, and the table below is all five. Their machines are not the same machine, so the vCPU and memory sit next to the price.\n\nCirrus CI was a platform: a `.cirrus.yml` in the repository, its own task graph, its own caches, its own artifacts. Replacing it means writing a workflow file, not changing a label, and the deadline for that has passed. Cirrus Runners is the opposite shape: ordinary GitHub Actions jobs pointed at a runner label, so replacing it is a label change and a bill comparison, on whatever timetable your contract gives you.\n\nOne practical note for both: the documentation has already gone. Checked on 2026-09-20, `cirrus-ci.org` does not resolve and `cirrus-ci.com` does not answer. The only authoritative description of what your macOS tasks did is the file in your own repository, so read it before it is the thing you are trying to remember.\n\nRanked by the rate each vendor published on 2026-09-20, with the shape that rate buys. The shapes vary by a factor of two in cores and by more than that in memory, so the cheapest row is not automatically the cheapest job. Linux destinations, and the eight-vendor matrix behind them, are in [GitHub Actions runner alternatives](https://latchkey.dev/learn/runners/github-actions-runner-alternatives).\n\n| Destination | Published macOS shape | Per minute | Best for | What to check first | \n|---|---|---|---|---|\n| Namespace | 4 vCPU, 7 GB, Apple Silicon | $0.04 prepaid | The cheapest published macOS minute | macOS concurrency is a published vCPU ceiling of 12, 24 or 48 by plan, and overage is $0.06 | \n| GitHub-hosted | `macos-latest` : 3-core M1, 7 GB, 14 GB SSD | $0.062 | Leaving without adding a third party | 5 concurrent macOS jobs on Free, Pro and Team, 50 on Enterprise, shared with larger runners | \n| Blacksmith | `blacksmith-6vcpu-macos-latest` : 6 vCPU, 24 GB, 150 GB | $0.08 | A Cirrus pipeline with Linux and Windows tasks too | Apple Silicon M4 only, and the org needs its GitHub App installed | \n| WarpBuild | M4 Pro, 6 vCPU, 14 GB | $0.08 | Restoring a prepared machine state per job | Snapshots are metered on top: $0.04 per restore and $0.025 per hour of storage | \n| Depot | `depot-macos-latest` : 8 CPU, 24 GB, 400 GB | $0.08 | The largest published macOS disk and memory | Its own docs say macOS capacity is not fully elastic, so expect queue time at peak | \n\nNamespace and Blacksmith both sell a larger macOS card at $0.12 and $0.16 respectively, and GitHub sells a 12-core macOS runner at $0.077 and a 5-core M2 Pro at $0.102. Latchkey publishes no macOS runner, which is a real gap rather than a pricing decision: those jobs have to go to one of the five above.\n\nTake a pipeline that burns 8,000 Linux minutes and 2,000 macOS minutes a month, which is a normal shape for a team shipping one iOS app beside its services. On GitHub-hosted that is $48.00 of Linux and $124.00 of macOS, so 72% of the metered bill is a fifth of the minutes. On Blacksmith the same split is $32.00 and $160.00, and macOS is 83%.\n\nNamespace is still the cheapest total and it is the row with the most fine print, because its prepaid rates are the in-plan rate rather than a meter. That month is 112,000 unit minutes, 32,000 Linux and 80,000 macOS; the $100 Team plan covers 100,000 of them and the other 12,000 bill at the $0.0015 overage rate, so the invoice is $100 plus $18.00, not the $112.00 the rate card alone suggests. At $118.00 its macOS half is 68% of the bill. Depot lands at $208.00 plus its $20 plan fee, WarpBuild at $192.00 with no plan fee and snapshots metered separately.\n\nIf you were on Cirrus Runners rather than Cirrus CI, this is the whole migration. Runner selection is per job, so move the slowest macOS job first, leave the rest, and compare a week of real runs before you touch anything else.\n\n```\njobs:\n  ios:\n    runs-on: macos-latest                    # GitHub-hosted, 3-core M1, 7 GB\n    # runs-on: blacksmith-6vcpu-macos-latest # 6 vCPU, 24 GB\n    # runs-on: depot-macos-latest            # 8 CPU, 24 GB\n    steps:\n      - uses: actions/checkout@v5\n      - run: sudo xcode-select -s /Applications/Xcode_26.app\n      - run: xcodebuild test -scheme App -destination 'platform=iOS Simulator,name=iPhone 17'\n```\n\nA Cirrus macOS task ran on an image your team chose and, often, on hardware your team controlled. Every item below is the same class of problem: something the old image guaranteed that the new one does not.\n\n`xcode-select` rather than trusting the default. Each vendor ships its own image with its own set of versions, and \"it worked on Cirrus\" is not a version.\nThe announcement that ended the hosted service also relicensed the tools under it. Cirrus Labs says it will relicense Tart, Vetu and Orchard \"under a more permissive license\" and has \"stopped charging licensing fees for them\", so the Apple Silicon virtualization stack your macOS jobs ran on is still there, on your own Macs, at no license cost.\n\nThat is a genuine option and not a small one: you keep the images and the behavior you already debugged, and you take on the hardware, the capacity and the pager. It is the trade any self-hosted pool makes, worked through in [migrate from self-hosted runners](https://latchkey.dev/learn/runners/migrate-from-self-hosted-runners), with the wrinkle that Apple hardware cannot be rented by the hour when the queue doubles.\n\nLatchkey sells managed Linux x86_64 runners at $0.0025 a minute for 2 vCPU with 8 GB, $0.005 at 4 vCPU, with cache entries kept 14 days and 2,000 to 6,000 free minutes a month by plan. On the 8,000 Linux minutes above that is $20.00 plus the plan fee, which starts at $5 a month and is not netted off by the included minutes.\n\nIt cannot take the macOS jobs. There is no macOS runner and no way to point `runs-on` at one. If most of your Cirrus spend was macOS, the table above is your shortlist and Latchkey is at best the Linux half of a two-vendor answer. What it adds on that half is repair: a transient failure such as [a Docker Hub rate limit](https://latchkey.dev/learn/failures/docker-hub-pull-rate-limit-in-ci) is diagnosed and retried inside the run rather than billing the failure and the re-run.\n\nCheapest published macOS minute, if you are on one of its paid plans and can live with a 4 vCPU 7 GB machine: Namespace at $0.04. No third party and the widest tooling support: GitHub-hosted at $0.062, dearer than Namespace and cheaper than the three at $0.08. Most machine per minute at that $0.08: Depot at 8 CPU and 24 GB, or Blacksmith at 6 vCPU and 24 GB if you want the GitHub App and the observability that comes with it.\n\nKeep the stack you had: Tart on your own Macs, now unlicensed. Send the Linux half somewhere cheap and the macOS half somewhere real, and do not wait for the contract to expire before you price it.\n\nOn rates read 2026-09-20, Namespace at $0.04 a minute for 4 vCPU with 7 GB, which is its prepaid in-plan rate; past the plan it is $0.06. GitHub-hosted is next at $0.062 for a 3-core M1 with 7 GB, and Blacksmith, WarpBuild and Depot all list $0.08 for machines of 6 to 8 cores with 14 to 24 GB.\n\nYes. The same announcement says Tart, Vetu and Orchard are being relicensed \"under a more permissive license\" and that the company has stopped charging licensing fees for them. The hosted services are what ended: Cirrus CI on 1 June 2026, and Cirrus Runners as existing contracts expire. Self-hosting the virtualization stack on your own Apple hardware stays open.\n\nGitHub documents 5 concurrent macOS jobs on Free, Pro and Team plans and 50 on Enterprise, and notes that the ceiling is shared between standard runners and larger runners. Namespace publishes its macOS limit as a vCPU ceiling instead, 12, 24 or 48 by plan. Neither number moves with how many minutes you buy.\n\nThree moves, in order of payoff. Stop running macOS jobs on pull requests that do not touch the app, with a path filter. Cache the derived data and the pods directory, because a cold macOS minute costs ten Linux minutes. Then move the remaining macOS jobs to whichever of the five vendors above prices the shape you actually need, and keep the Linux jobs somewhere cheaper still.", "url": "https://wpnews.pro/news/cirrus-ci-alternative-for-macos-where-those-jobs-go", "canonical_source": "https://dev.to/kalemi/cirrus-ci-alternative-for-macos-where-those-jobs-go-2c34", "published_at": "2026-11-15 10:13:11+00:00", "updated_at": "2026-11-15 10:20:40.832728+00:00", "lang": "en", "topics": ["developer-tools", "mlops"], "entities": ["Cirrus CI", "Cirrus Runners", "Cirrus Labs", "OpenAI", "Latchkey", "Namespace", "GitHub", "Blacksmith"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/cirrus-ci-alternative-for-macos-where-those-jobs-go", "markdown": "https://wpnews.pro/news/cirrus-ci-alternative-for-macos-where-those-jobs-go.md", "text": "https://wpnews.pro/news/cirrus-ci-alternative-for-macos-where-those-jobs-go.txt", "jsonld": "https://wpnews.pro/news/cirrus-ci-alternative-for-macos-where-those-jobs-go.jsonld"}}