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
Fastest, and you install Xcode yourself.
Path B, Tart virtual machines
Nothing changes in the workflow except the label.
| Nativer Runner | Tart-VMs | |
|---|---|---|
| Einrichtungszeit | Etwa 30 Minuten | Etwa eine Stunde |
| Gleiche Umgebung wie bei Cirrus | Nein, Sie installieren Xcode selbst | Ja, dieselben Images |
| Saubere Maschine pro Job | No | Ja |
| Warme Caches zwischen Jobs | Ja | Nein, außer Sie bauen sie ins Image ein |
| Gleichzeitige Jobs pro Mac | Einer pro Runner | Bis 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:
runs-on: ghcr.io/cirruslabs/macos-runner:sonomaNotieren 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:
# 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
brew install cirruslabs/cli/tart2. 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:
tart clone ghcr.io/cirruslabs/macos-sequoia-xcode:latest ci-baseDer erste Pull ist groß, oft über 50 GB, planen Sie also etwas Zeit ein.
3. VM starten und anmelden
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.
./config.sh --url https://github.com/<owner>/<repo> --token <token> --ephemeral --labels tart-sequoia
./run.sh5. 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:
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
doneIn 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
Als Nächstes