Sofortentscheidung: diese Woche mit einem kleinen Workflow beginnen
Ein GitHub-gehosteter Runner erhält für jeden Job eine frische virtuelle Maschine; nach dem Job wird diese Ausführungsumgebung verworfen. GitHub beschreibt dieses Modell in der Referenz zu gehosteten Runnern. Beginnen Sie deshalb mit einem gehosteten macOS Runner, wenn Sie gewöhnliche Builds und Tests automatisieren wollen. Bewerten Sie einen selbst verwalteten Remote-Mac erst dann, wenn Sie einen konkreten Bedarf an dauerhaftem Zustand, interaktiver Fehlersuche oder besonderen Zugriffsbedingungen nachweisen können.
Diese Woche: Legen Sie einen kleinen Workflow für Build und Tests an. Bevor Sie einen Remote-Mac als selbst gehosteten Runner registrieren, prüfen Sie Repository-Zugriffe, Vertrauensgrenzen des Workflow-Codes und erreichbare Zugangsdaten.
Dieser Leitfaden richtet sich an Studierende und Forschende, die Kursprojekte, Dissertationstools oder kleine Prototypen ohne eigenen Labor-Mac testen möchten.
Er ist auch für Arbeitsgruppen und Maintainer öffentlicher Forschungssoftware gedacht, die laufende Wartung und Sicherheitsverantwortung abwägen müssen.
Begriffe und Betriebsmodelle auseinanderhalten
„Gehostet“ und „Remote“ beschreiben nicht denselben Aspekt. Ein gehosteter Runner ist eine von GitHub bereitgestellte Ausführungsumgebung. Ein selbst gehosteter Runner ist eine Maschine, die Ihr Team verwaltet und bei GitHub Actions registriert. Ein Remote-Mac beschreibt dagegen, wie Sie auf einen Mac zugreifen können. Ein erreichbarer Mac ist nicht automatisch als Runner eingerichtet; eine Runner-Registrierung ersetzt keine interaktive Fernwartung.
GitHub dokumentiert selbst gehostete Runner als Systeme, die Sie bereitstellen und verwalten. Dazu gehören die Registrierung und der Betrieb der Runner-Software sowie die Frage, welche Repositorys, Organisationen oder Gruppen den Runner verwenden dürfen. Die GitHub-Übersicht zu selbst gehosteten Runnern hilft, die Betriebsverantwortung von der bloßen Wahl eines Workflow-Labels zu unterscheiden.
Für Ihre Entscheidung zählt daher nicht nur, ob ein Job auf macOS laufen kann. Entscheidend ist auch, ob der Job isoliert und reproduzierbar sein muss, wer Fehler behebt und ob interaktive Arbeit Teil des Ablaufs ist. Ein dauerhaft verfügbarer Mac kann bei manueller Fehlersuche nützlich sein; für automatisierte Tests bringt er aber zusätzliche Wartungs- und Sicherheitsaufgaben mit.
Persönliche Projekte und Studierende: zuerst den Ablauf automatisieren
Bei einem Kursprojekt, einem Prototyp oder einem Hilfsprogramm für eine Forschungsarbeit ist der Engpass oft nicht die Hardware, sondern die Frage, ob die Arbeitsschritte reproduzierbar beschrieben sind. Prüfen Sie zunächst, ob ein Kommando den Build ausführen kann, ob Tests ohne manuelle Eingabe starten und ob Abhängigkeiten nachvollziehbar installiert werden. Wenn das gelingt, ist ein GitHub Actions macOS Runner ein sinnvoller erster Test, auch wenn Ihnen kein eigener Mac zur Verfügung steht.
Nehmen Sie nicht an, dass jede macOS-Anwendung vollständig in CI getestet werden kann. Ein Workflow eignet sich besonders für automatisierbare Schritte: Quellcode kompilieren, Unit-Tests ausführen, Artefakte prüfen oder eine definierte Routine für die Datenaufbereitung starten. Muss eine Person ein Fenster bedienen, Einstellungen von Hand ändern oder Ergebnisse visuell beurteilen, ist das ein anderer Arbeitsschritt. Dokumentieren Sie ihn ausdrücklich als manuelle Prüfung, statt einen GUI-Test nur auf dem Papier zu automatisieren.
Ein kleines erstes Experiment begrenzt den Aufwand:
- Legen Sie fest, welcher Commit und welche Abhängigkeiten getestet werden sollen.
- Führen Sie lokal dieselben Build- und Testbefehle aus, die später im Workflow stehen.
- Speichern Sie Ergebnisse so, dass ein Teammitglied sie prüfen kann, ohne private Forschungsdaten unnötig offenzulegen.
- Lassen Sie zunächst keine dauerhaften Zugangsdaten in den Testschritten verfügbar.
- Vergleichen Sie Fehler aus CI mit lokalen Fehlern, bevor Sie weitere Automatisierung ergänzen.
Wenn schon dieser Ablauf an einem interaktiven Schritt scheitert, bedeutet das nicht automatisch, dass Sie einen selbst gehosteten Runner brauchen. Möglicherweise genügt es, den Schritt zu entkoppeln: automatisierte Tests laufen im Workflow, während eine Person den GUI-Teil auf einem zugänglichen Mac prüft. So bleibt der CI-Teil wiederholbar, ohne eine beständige Maschine für jeden Testjob einzurichten.
Für Studierende mit knappem Budget ist dieser Unterschied praktisch: Sie müssen nicht gleich einen Mac dauerhaft anschaffen oder den gesamten Entwicklungsablauf auf eine Mietmaschine verlagern. Erst wenn wiederkehrende manuelle Prüfungen oder ein stabil vorzuhaltender Projektzustand tatsächlich Zeit kosten, lohnt sich ein Vergleich mit einem Remote-Mac. Wenn Sie zunächst die Möglichkeiten ohne eigenen Mac einordnen möchten, finden Sie weitere Überlegungen im Leitfaden zum Testen von macOS-Forschungssoftware ohne eigenen Mac.
Kurs- und Arbeitsgruppenprojekte: Verantwortung im Team klären
In einer Arbeitsgruppe ist die Frage nicht nur, ob ein selbst gehosteter Runner funktioniert, sondern wer ihn zuverlässig betreut. Eine selbst verwaltete Maschine benötigt eine Person oder ein klar benanntes Team für Runner-Registrierung, Updates, Abhängigkeiten, Verfügbarkeit und Fehlerbehebung. Wenn mehrere Mitglieder Änderungen am Workflow vornehmen, müssen außerdem Zuständigkeiten für Berechtigungen und die Auswirkungen dieser Änderungen feststehen.
Ein Szenario aus dem Labor: Ein Projekt baut ein Analysewerkzeug automatisch, aber ein Fehler tritt nur mit einer bestimmten installierten Abhängigkeit auf. Ein beständiger Remote-Mac könnte die Fehlersuche erleichtern, weil sich die Umgebung gezielt untersuchen lässt. Gleichzeitig kann ein nicht bereinigter Arbeitszustand spätere Tests verfälschen. Dokumentieren Sie deshalb, welche Software installiert ist, welche Daten lokal verbleiben und wie ein Job nach einem Fehler in einen definierten Zustand zurückkehrt.
Ein selbst gehosteter Runner ist kein bloßes anderes runs-on-Label. Das Team muss die Maschine und ihre Verbindungen in die eigene Betriebs- und Sicherheitsplanung aufnehmen. GitHub erläutert die Konfiguration selbst gehosteter Runner; dort sollten Sie die Voraussetzungen mit Ihrer geplanten macOS-Umgebung abgleichen, bevor Sie die Einrichtung als gelöst betrachten.
Prüfen Sie für Ihr Team insbesondere folgende Punkte:
- Zuständigkeit: Wer kontrolliert Updates, Runner-Registrierung und Zugang, wenn die bisher verantwortliche Person nicht verfügbar ist?
- Umgebung: Welche Abhängigkeiten müssen bestehen bleiben, und wie erkennen Sie unbeabsichtigte Änderungen?
- Zugriff: Welche Repositories dürfen den Runner verwenden? Wer darf Workflow-Dateien ändern?
- Daten: Welche Forschungsdaten sind für den Job nötig, und welche sollten gar nicht erst auf dem Runner liegen?
- Störungen: Wie wird ein ausgefallener Runner erkannt, und welche Schritte können bis zur Wiederherstellung weiterlaufen?
Wenn niemand im Team diese Aufgaben übernehmen kann, ist ein gehosteter Runner trotz möglicher Einschränkungen häufig die betrieblich einfachere Wahl. Wenn dauerhafte Umgebungen oder interaktive Untersuchungen regelmäßig gebraucht werden und Zuständigkeiten geklärt sind, kann ein selbst verwalteter Remote-Mac ergänzend sinnvoll sein.
Öffentliche Repositories: Codevertrauen vor Runner-Komfort setzen
Bei einem öffentlichen Repository können Beiträge von Personen stammen, deren Workflow-Code Sie nicht kontrollieren. Ein Pull Request kann Änderungen an Workflow-Dateien oder Build-Skripten enthalten. Läuft solcher Code auf einer persistenten Maschine, darf die Entscheidung nicht allein danach fallen, ob der Job technisch gestartet werden kann. Maßgeblich ist, auf welche Dateien, Zugangsdaten und Netzwerkressourcen der Code während seiner Ausführung zugreifen könnte.
GitHub warnt in seinen Hinweisen zur sicheren Nutzung von GitHub Actions besonders vor Risiken, wenn nicht vertrauenswürdige Beiträge selbst gehostete Runner erreichen. Eine beständige Maschine kann andere Dateien oder Ressourcen vorfinden als eine frisch bereitgestellte Umgebung. Behandeln Sie einen Runner daher nicht als sicheren Ort, nur weil er im Labor steht oder von Ihnen administriert wird.
Achtung: Gewähren Sie nicht geprüften Workflow-Änderungen keinen Zugriff auf eine Maschine, auf der Forschungszugänge, private Dateien oder gemeinsam genutzte Ressourcen erreichbar sind. Ein Administratorzugang auf dem Mac ist kein Sicherheitsvorteil, wenn der ausgeführte Code dadurch mehr erreichen kann.
Prüfen Sie zuerst, welche Ereignisse den Workflow auslösen und welche Änderungen ein Beitrag auslösen kann. GitHub erklärt die verfügbaren Workflow-Ereignisse und ihre Auslöser. Richten Sie die Berechtigungen passend zu Ihrem Repository ein und trennen Sie externe Beiträge von vertrauenswürdigen Abläufen. Eine Beschränkung auf bestimmte Runner-Gruppen kann zusätzlich helfen, die Verwendung durch Repositorys gezielt zu steuern; die Dokumentation zur Zugriffsverwaltung für Runner-Gruppen beschreibt diese Möglichkeit.
Für Forschungsprojekte kommt noch die Vertraulichkeit von Daten hinzu. Legen Sie nicht den gesamten Projektzugang in einem CI-Job ab, wenn für den Build nur ein Teil davon nötig ist. Vermeiden Sie, Forschungsdaten in Protokolle oder öffentlich zugängliche Artefakte zu schreiben. Prüfen Sie außerdem, ob ein Job auf interne Dienste zugreifen kann und ob dieser Zugriff für den jeweiligen Beitrag wirklich erforderlich ist. Für eine allgemeine Orientierung zu Verantwortlichkeiten und Datenverarbeitung können Sie die Hinweise zum Datenschutz bei MangoVM heranziehen; die konkreten Pflichten Ihrer Institution müssen Sie gesondert bewerten.
Release-Teams: Build, Prüfung und Verteilung getrennt planen
Ein Release besteht aus mehreren Schritten, die nicht zwangsläufig auf derselben Maschine laufen müssen. Prüfen Sie Build und Tests, das Signieren und die Verteilung getrennt. Wenn ein Build und die automatisierten Tests auf einem gehosteten Runner zuverlässig laufen, gibt es keinen technischen Grund, allein wegen eines späteren Release-Schritts den gesamten Workflow auf einen persistenten Mac zu verschieben.
Bei macOS-Software ist die Verteilung mit Anforderungen verbunden, die Sie anhand der offiziellen Apple-Dokumentation prüfen müssen. Apple beschreibt das Signieren von Code für die Verteilung auf dem Mac und die Beglaubigung von macOS-Software vor der Verteilung. Leiten Sie daraus nicht ab, dass ein bestimmter Runner automatisch zu Ihrem Zertifikat, Ihrem Freigabeprozess oder Ihrer institutionellen Regelung passt. Klären Sie, welche Schritte automatisierbar sind und wie Signiermaterial geschützt wird.
Falls ein Release bislang eine manuelle Anmeldung, eine grafische Prüfung oder einen besonderen Netzwerkzugang voraussetzt, halten Sie genau fest, welcher Teil daran gebunden ist. Ein Remote-Mac ist erst dann eine passende Option, wenn Sie diese konkrete Bedingung auf der Maschine erfüllen können und den Betrieb verantworten. Prüfen Sie vor der Umstellung, wer auf die Signiermaterialien zugreifen darf, wie Arbeitsbereiche nach einem Job behandelt werden und ob ein Fehler einen sicheren erneuten Versuch erlaubt.
Beziehen Sie in diese Prüfung auch die institutionellen Datenschutzvorgaben ein. Das gilt besonders, wenn in Build-Schritten personenbezogene oder nicht veröffentlichte Forschungsdaten verarbeitet werden. Die Frage „Wo läuft der Runner?“ ist dann nicht ausreichend. Sie müssen nachvollziehen können, welche Daten auf die Maschine gelangen, wer sie verwalten kann und wie lange sie dort verbleiben.
Auswahl nach Arbeitsablauf, Zugriff und Wartung
Die folgende Tabelle dient als Entscheidungshilfe. Entscheiden Sie nach dem konkreten Ablauf und den Verantwortlichkeiten, nicht danach, ob ein Remote-Mac grundsätzlich verfügbar ist.
| Option | Passend, wenn … | Vorteile | Nachteile und Prüfaufgaben |
|---|---|---|---|
| GitHub-gehosteter macOS Runner | Builds und Tests automatisierbar sind und keine dauerhafte Umgebung benötigen | Von GitHub bereitgestellte Ausführungsumgebung; guter Startpunkt für reproduzierbare CI-Schritte | Umgebung und Laufzeitbedingungen müssen zur Aufgabe passen; interaktive Fehlersuche ist nicht der Hauptzweck |
| Selbst gehosteter Remote-Mac | Ein begründeter Bedarf an dauerhaftem Zustand, interaktiver Diagnose oder besonderen Zugriffsbedingungen besteht | Team kann die Umgebung gezielt verwalten und den Mac zusätzlich interaktiv untersuchen | Updates, Verfügbarkeit, Berechtigungen, Vertrauensgrenzen und erreichbare Daten liegen in der Verantwortung des Teams |
| Geteiltes Modell | Automatisierte Tests und manuelle Prüfungen unterschiedliche Anforderungen haben | Routinejobs bleiben automatisiert; interaktive Arbeit wird getrennt behandelt | Übergaben und Datenflüsse müssen dokumentiert sein; nicht vertrauenswürdiger Code darf nicht unbedacht auf den persistenten Runner gelangen |
Treffen Sie die Wahl anhand dieser Bedingungen:
- Wählen Sie zunächst den gehosteten Runner, wenn Sie Build und Tests als Workflow beschreiben können und kein lokaler Zustand erhalten bleiben muss.
- Prüfen Sie einen selbst gehosteten Remote-Mac, wenn interaktive Diagnose, dauerhaft installierte Abhängigkeiten oder ein konkreter Zugriffsbedarf wiederholt auftreten und Ihr Team die Wartung übernehmen kann.
- Trennen Sie die Abläufe, wenn CI und GUI-Prüfung nebeneinander benötigt werden. Lassen Sie den automatisierbaren Teil gehostet laufen und geben Sie dem interaktiven Teil einen eigenen, kontrollierten Prozess.
- Setzen Sie keinen persistenten Runner für externe Beiträge ein, bevor Sie Codevertrauen, Repository-Zugriff und Zugangsdaten geprüft und begrenzt haben.
Für die Auswertung genügt nicht die Aussage „Der Workflow läuft“. Halten Sie fest, ob ein Lauf reproduzierbar war, welche manuelle Arbeit übrig blieb und welche Ressourcen der Job benötigte. Wenn Sie einen selbst gehosteten Runner testen, dokumentieren Sie zusätzlich, wer die Maschine betreut und wie Sie sie nach einem fehlerhaften oder nicht vertrauenswürdigen Job wieder in einen kontrollierten Zustand bringen. So können Sie nach einer Projektphase begründet entscheiden, ob ein Remote-Mac weiterhin erforderlich ist.
Häufige Fragen zu Runnern für Forschungssoftware
Weitere Antworten zu Einsatzbedingungen, Remote-Macs und öffentlichen Repositories finden Sie in den Fragen und Antworten am Ende dieses Artikels.
Die Umgebung nach dem tatsächlichen Bedarf wählen
Für ein gewöhnliches, automatisierbares macOS-Projekt ist der gehostete Runner der vernünftige Startpunkt. Ein selbst gehosteter Remote-Mac ist keine pauschal bessere CI-Umgebung: Er verlangt zusätzliche Pflege und kann im öffentlichen Repository ein größeres Risiko darstellen, wenn nicht vertrauenswürdiger Code Zugang zu Dateien, Forschungszugängen oder internen Ressourcen erhält. Nutzen Sie ihn gezielt, wenn eine dauerhafte Umgebung oder interaktive Fehlersuche tatsächlich gebraucht wird.
Wenn Sie heute lokale Geräte oder einen geteilten Laborrechner verwenden, können dort fehlende macOS-Verfügbarkeit, manuelle Übergaben und schwer reproduzierbare Abhängigkeiten den Ablauf bremsen. Ein gehosteter Runner löst automatisierbare Tests, aber nicht interaktive Diagnose oder jeden besonderen Zugriffsbedarf. Wenn Ihr Team für solche Aufgaben eine beständige macOS-Umgebung benötigt, können Sie die Remote-Mac-Mietoptionen von MangoVM prüfen. Klären Sie vor einer Entscheidung Repository-Berechtigungen, Zugangsdaten und die tatsächlichen Anforderungen Ihres Workflows; für eine reine CI-Aufgabe ohne persistenten Zustand ist ein zusätzlicher Mac möglicherweise nicht erforderlich.
Häufig gestellte Fragen
Wann lohnt sich ein selbst gehosteter macOS Runner für ein Forschungsprojekt?
Ein selbst gehosteter Runner ist dann eine Option, wenn Ihr Workflow eine beständige Umgebung, interaktive Fehlersuche oder besondere Netzwerk- und Zugriffsbedingungen benötigt. Prüfen Sie vorher, wer die Runner-Software, Abhängigkeiten, Verfügbarkeit und Berechtigungen betreut. Für klar definierte Builds und Tests ohne dauerhaften Zustand ist ein gehosteter Runner meist der einfachere Start.
Kann ein Labor ohne eigenen Mac macOS-Software mit GitHub Actions testen?
Ja. GitHub Actions bietet gehostete macOS Runner, mit denen sich geeignete Build- und Testschritte automatisieren lassen. Ob Ihr konkretes Projekt damit funktioniert, hängt unter anderem von Abhängigkeiten, erforderlichen GUI-Schritten und Zugriffen auf externe Ressourcen ab. Beginnen Sie mit einem kleinen Workflow für Build und Tests, bevor Sie die gesamte Forschungsumgebung umstellen.
Lässt sich ein Remote-Mac als selbst gehosteter Runner registrieren?
Ein Remote-Mac kann als selbst gehosteter Runner infrage kommen, sofern Betriebssystem, Architektur, Netzwerkkonnektivität und Runner-Software die Anforderungen erfüllen. Die Registrierung allein macht eine Maschine jedoch weder sicher noch für jeden Workflow geeignet. Trennen Sie interaktive Nutzung und automatisierte Jobs gedanklich und prüfen Sie, welche Dateien und Zugangsdaten ein Job erreichen kann.
Sind selbst gehostete macOS Runner für öffentliche Forschungs-Repositories sicher?
Behandeln Sie Arbeitsabläufe aus öffentlichen Beiträgen grundsätzlich als nicht vertrauenswürdig, bis Sie ihren Code geprüft und ihre Berechtigungen begrenzt haben. Ein Job auf einer beständigen eigenen Maschine kann auf erreichbare Dateien, Zugangsdaten oder Netzwerkressourcen treffen. Verwenden Sie solche Runner nicht unbesehen für externe Pull Requests und halten Sie Forschungszugänge von Testjobs getrennt.
Richten Sie Ihre Forschungs-Pipeline auf einem festen Mac ein
Mit MangoVM nutzen Sie einen dedizierten physischen Apple-Silicon-Mac als dauerhaft verfügbaren Runner für Ihre Builds und Tests.
