Anleitung

Von Cirrus Runners auf einen dedizierten Mac mini umziehen

Cirrus Runners nimmt keine neuen Kunden mehr an, und bestehende Verträge laufen aus. Verlegen Sie Ihre macOS-Jobs für GitHub Actions auf einen dedizierten Mac mini, nativ oder mit denselben Tart-Images.

60 Minuten, aktualisiert 2026-09-15

Im April 2026 gab Cirrus Labs bekannt, sich OpenAI anzuschließen. Cirrus CI führt seit dem 1. Juni 2026 keine Jobs mehr aus. Cirrus Runners nimmt keine neuen Kunden an, und bestehende Kunden werden nur noch bis zum Ende ihres aktuellen Vertrags unterstützt.

Wenn Ihre macOS-Jobs für GitHub Actions auf Cirrus Runners laufen, brauchen sie vor diesem Datum ein neues Zuhause. Diese Anleitung zeigt zwei Wege, sie auf einen dedizierten Mac mini zu verlegen, und wie Sie zwischen ihnen wählen.

Zwei Wege für den Umzug

Weg A, ein nativer Runner. Der GitHub-Actions-Runner läuft direkt auf macOS. Das ist das einfachste Setup, mit den schnellsten Builds und Caches, die zwischen den Jobs warm bleiben.

Weg B, virtuelle Maschinen mit Tart. Sie betreiben dieselben macOS-Images von Cirrus, die Sie heute nutzen, in Tart auf Ihrem eigenen Mac. Jeder Job startet auf einer sauberen Maschine, genau wie bei Cirrus.

Path A, native runner

macOS, no VMactions.runner service,one job at a timeIts own diskDerivedData and packagesstay warm

Fastest, and you install Xcode yourself.

Path B, Tart virtual machines

macOS host, TartClean VMone job, deletedClean VMone job, deletedThe same Cirrus images you run today.Apple's licence: two at a time, per Mac.

Nothing changes in the workflow except the label.

Ein Mac, zwei Varianten. Um diese Wahl geht es in der ganzen Anleitung.
Nativer RunnerTart-VMs
EinrichtungszeitEtwa 30 MinutenEtwa eine Stunde
Gleiche Umgebung wie bei CirrusNein, Sie installieren Xcode selbstJa, dieselben Images
Saubere Maschine pro JobNoJa
Warme Caches zwischen JobsJaNein, außer Sie bauen sie ins Image ein
Gleichzeitige Jobs pro MacEiner pro RunnerBis zu zwei (Lizenzgrenze von Apple)

Wählen Sie A, wenn Ihrem Team das Repository gehört und es Geschwindigkeit will. Wählen Sie B, wenn jeder Build von einem bekannten, sauberen Zustand aus starten muss oder Sie in Ihren Workflows nichts außer dem Label ändern wollen.

Bevor Sie anfangen

Listen Sie auf, was Ihre Workflows heute nutzen. Suchen Sie nach den runs-on-Zeilen, die auf Cirrus-Images zeigen, zum Beispiel:

.github/workflows
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

Notieren Sie die macOS-Version, die Xcode-Versionen und alles, was Ihre Jobs zu Beginn installieren. Diese Liste brauchen Sie für beide Wege.

Weg A: nativer Runner

Folgen Sie unserer Anleitung „Self-hosted GitHub Actions Runner auf dem Mac mini“, verlinkt am Ende dieser Seite. Sie behandelt Xcode, die Registrierung des Runners und seinen Betrieb als Dienst.

Geben Sie dem Runner ein aussagekräftiges Label, etwa macduty-m4. Ändern Sie dann in jedem Workflow eine Zeile:

.github/workflows
# before
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

# after
runs-on: [self-hosted, macOS, ARM64, macduty-m4]

Lassen Sie einen Workflow auf dem neuen Runner laufen, solange Cirrus noch funktioniert. Wenn er durchläuft, verlegen Sie den Rest.

Weg B: dieselben Images, in Tart

1. Tart auf dem Mac installieren

ssh
brew install cirruslabs/cli/tart

2. Ein Cirrus-Image laden

Wählen Sie das Image, das dem am nächsten kommt, was Sie heute betreiben. Cirrus veröffentlicht Images mit und ohne Xcode:

ssh
tart clone ghcr.io/cirruslabs/macos-sequoia-xcode:latest ci-base

Der erste Pull ist groß, oft über 50 GB, planen Sie also etwas Zeit ein.

3. VM starten und anmelden

ssh
tart run --no-graphics ci-base &
ssh admin@$(tart ip ci-base)

Die Cirrus-Images enthalten einen Standard-Admin-Account. Ändern Sie dessen Passwort, bevor Sie irgendetwas anderes tun.

4. Runner in der VM registrieren

Registrieren Sie in der VM einen GitHub-Actions-Runner wie bei Weg A, mit einem Unterschied: Fügen Sie --ephemeral hinzu, damit der Runner einen einzigen Job übernimmt und dann stoppt.

in der VM
./config.sh --url https://github.com/<owner>/<repo> --token <token> --ephemeral --labels tart-sequoia
./run.sh

5. Eine frische VM für jeden Job

Auf dem Mac selbst klont eine kleine Schleife eine saubere Kopie des Images, führt darin einen Job aus und löscht sie:

ssh
while true; do
  tart clone ci-base job
  tart run --no-graphics job &
  # wait for the job to finish, then:
  tart stop job
  tart delete job
done

In der Praxis brauchen Sie ein Skript, das außerdem für jede VM ein frisches Registrierungstoken holt. Tools wie Orchard, vom selben Team, übernehmen das bei größeren Setups.

Die Lizenz von Apple erlaubt höchstens zwei gleichzeitig laufende virtuelle macOS-Maschinen auf einem Mac. Für mehr parallele Jobs nehmen Sie einen weiteren Mac dazu.

Nach dem Umzug

  • Prüfen Sie die Build-Zeiten. Auf einem dedizierten M4 oder neuer sind die Builds bei den meisten Teams so schnell wie bei Cirrus, mit warmen Caches schneller.
  • Behalten Sie die alten Workflows eine Woche lang. Lassen Sie eine Kopie der runs-on-Zeilen für Cirrus in einem Branch, bis die neuen Runner einen kompletten Release durchlaufen haben.
  • Nur private Repositories. Self-hosted Runner sollten keine Jobs aus öffentlichen Forks annehmen.

Warum ein dedizierter Mac mini

  • Ein fester Monatspreis. Keine Abrechnung pro Minute und nichts neu zu verhandeln, wenn ein Vertrag endet.
  • Jede Generation. M1 bis M6 nebeneinander, damit Sie auf den Chips testen können, die Ihre Nutzer haben.
  • Nur für Sie. Keine Warteschlange, keine Nachbarn, keine fremden Jobs auf Ihrer Hardware.
  • Gehostet in der EU, unter der DSGVO.

MacDuty betreibt Mac minis von M1 bis M6 im Rack, mit installiertem macOS, in wenigen Minuten bereit. Ihren SSH-Schlüssel hinterlegen Sie im Kundenbereich.

Heute auf Lager

Diese stehen jetzt im Rack. Wählen Sie einen, sehen Sie, was dazugehört, und legen Sie Ihr Konto erst bei der Bestellung an.

Racks werden geprüft

Ein eigener Mac mini

Wählen Sie eine Konfiguration. Wenn eine nicht vorrätig ist, hinterlassen Sie Ihre E-Mail, und wir schreiben Ihnen an dem Tag, an dem sie ins Rack kommt.

Jährlich: mindestens 19 % günstiger als monatlich

  • 16GB

    Unified Memory, 120 GB/s

    Kerne
    10 CPU, 10 GPU
    Speicher
    Verfügbar
    Auf Lager
  • Meistgewählt
    24GB

    Unified Memory, 120 GB/s

    Kerne
    10 CPU, 10 GPU
    Speicher
    Verfügbar
    Auf Lager
  • 32GB

    Unified Memory, 120 GB/s

    Kerne
    10 CPU, 10 GPU
    Speicher
    Verfügbar
    Auf Lager
Visa Mastercard SEPA-ÜberweisungPreise in EUR, MwSt. wird an der Kasse hinzugefügt, wo sie anfällt. Mindestens ein Monat, danach monatlich kündbar.

Als Nächstes