Skip to content

// macOS CI runner

A dedicated Mac mini as your GitHub Actions runner

GitHub-hosted macOS runners bill by the minute at a premium and start from a clean image every job. A dedicated Mac mini from MacMiniNode registered as a self-hosted runner keeps Xcode, simulators, package caches, and derived data warm between jobs, runs around the clock, and costs a flat $129 per month regardless of minutes. The same applies to GitLab, Bitrise, Buildkite, and other systems with self-hosted agents.

Rent Your MacSee pricing$129/month · No setup fee · Cancel anytime

Who it is for

  • iOS teams whose GitHub-hosted macOS minutes are a noticeable line item
  • Projects with long test suites or large dependency caches that suffer from cold starts
  • Teams that need specific Xcode versions, certificates, or tools pinned on the runner
  • Solo developers who want nightly builds and TestFlight uploads without a Mac at home

Why a dedicated runner beats hosted minutes for steady use

Dedicated Mac mini runnerGitHub-hosted macOS runner
PricingFlat $129/month, unlimited minutes on your machinePer-minute, premium multiplier for macOS
CachesXcode, SPM/CocoaPods, derived data, simulators stay warmFresh image every job unless you restore caches
ToolchainYou pin Xcode versions, certificates, and toolsPreinstalled image you do not control
ConcurrencyOne job at a time per machine (add machines to scale)Many parallel jobs on demand
MaintenanceYou keep the runner agent and Xcode updatedManaged by GitHub
Best forSteady daily CI, long suites, pinned toolchainsBursty or occasional builds

How the setup works

  1. STEP 1

    Get the Mac

    Request a Mac mini; it is ready within 24 hours with SSH access.

  2. STEP 2

    Install Xcode and tools

    Over SSH or remote desktop, install Xcode from Apple, select it with xcode-select, and add fastlane or other tools.

  3. STEP 3

    Register the runner

    In your repository or organization settings, add a self-hosted runner for macOS and run the configuration commands GitHub gives you. Install it as a launchd service so it survives reboots.

  4. STEP 4

    Point workflows at it

    Use runs-on: self-hosted with your labels. Keep secrets in GitHub, not on disk.

Security notes for a shared repository runner

  • Register at the repository or organization level you trust; GitHub recommends against self-hosted runners for public repositories because forks can run arbitrary code
  • Use short-lived tokens and GitHub secrets; do not store signing certificates in plain files longer than needed
  • The machine is dedicated to you, so no other MacMiniNode customer can see your jobs; you are responsible for what runs on it
  • Keep macOS, Xcode, and the runner agent updated

Real limitations and requirements

  • Machines are prepared by a person, not an automated pool. We commit to having your Mac ready within 24 hours of your request; your dashboard shows each stage.
  • One customer per computer. Sharing a machine among several end users, reselling access, or sublicensing is not permitted.
  • Administrator access is included but subject to security and licensing requirements: you cannot disable the management controls we rely on, and macOS use must follow Apple’s software license terms.
  • Permitted use is developer and business computing: software development, testing, CI, automation, and AI coding agents. See the Acceptable Use Policy.
  • No physical access to the hardware, and no hardware changes (memory and storage are fixed at the configuration you rent).
  • Third-party subscriptions are not included: Claude Code, OpenAI Codex, the Apple Developer Program, and any licensed software are yours to bring.
  • You are responsible for your own backups. When a rental ends, the storage is securely erased before the hardware is reassigned.

How remote access works

Your Mac mini stays powered on in our facility. You connect to it over the internet from a Mac, Windows PC, Linux machine, or tablet using two supported methods: SSH for the terminal, and remote desktop for the full macOS interface.

Connection details and step-by-step instructions appear inside your signed-in dashboard once the machine is ready; we never send credentials by plain email. Your files, tools, and sessions persist between connections, so you can disconnect and pick up where you left off.

Questions about this

Can one Mac mini run multiple CI jobs at once?

One self-hosted runner instance handles one job at a time. You can register more than one runner on a machine, but with 16GB of memory two parallel Xcode builds will slow each other down. For true parallelism, rent additional machines.

Does MacMiniNode install the runner for me?

No. We provide the always-on Mac with SSH access; you install Xcode and register the runner with your own GitHub account, following our guide.

Is a dedicated runner cheaper than GitHub-hosted minutes?

It depends on your usage. At steady daily use the flat $129 is often less than metered macOS minutes, and builds are usually faster thanks to warm caches. For a few builds a week, hosted minutes may cost less. Our CI cost calculator lets you compare with your own numbers.

All questions

// Ready?

Give your CI a dedicated Mac.

Warm caches, your toolchain, one flat monthly price.