Zum Inhalt springen

GitHub Actions Runner-Konfiguration

Actionforge ermoeglicht dir, GitHub Actions Workflow-Graphs auf deiner Maschine zu debuggen, Workflow-Bugs zu eliminieren und GitHub-Runner-Kosten zu reduzieren. Wenn actrun einen GitHub Actions Workflow-Graph erkennt (d.h. einen Graph, der aus dem GitHub Actions Workflow-Template erstellt wurde), richtet es automatisch eine simulierte GitHub Actions-Umgebung ein, sodass du deine Workflows lokal testen kannst, bevor du auf GitHub pushst.

Wenn du eine Debug Session fuer einen GitHub Actions Workflow-Graph startest, enthaelt der Einrichtungsdialog zusaetzliche GitHub Actions-spezifische Felder:

  1. Runner herunterladenLade den Actionforge Runner herunter fuer deine Plattform.
  2. Lokalen Repository-Pfad festlegen — Gib den lokalen Pfad zu deinem geklonten GitHub Repository ein. Er wird als GITHUB_WORKSPACE verwendet.
  3. GitHub Token festlegen — Erstelle einen Fine-grained Personal Access Token mit minimalen Berechtigungen. Der Token ist Ende-zu-Ende-verschluesselt und kann nur von deinem lokalen Runner entschluesselt werden.
  4. Session Token kopieren — Kopiere den Session Token und fuege ihn in deinen lokalen Runner ein, um dich zu verbinden.

Der Dialog konfiguriert die Umgebung fuer dich — keine manuelle Konfiguration von Umgebungsvariablen noetig bei Debug Sessions.


Wenn du deinen GitHub Actions Workflow-Graph lieber direkt ueber die Kommandozeile ausfuehren moechtest, folge diesen Schritten:

Lade den Runner CLI actrun fuer deine Plattform herunter und installiere ihn.

actrun herunterladen

Fuer detaillierte Installationsanweisungen schau dir den Installations-Guide an.

Viele GitHub Actions benoetigen einen GITHUB_TOKEN, um sich bei der GitHub API zu authentifizieren. Um diese Actions lokal auszufuehren, erstelle einen Fine-grained Personal Access Token:

  1. Klicke auf Generate new token
  2. Gib ihm einen beschreibenden Namen (z.B. “actrun local development”)
  3. Setze ein Ablaufdatum
  4. Waehle die Repositories aus, auf die du zugreifen moechtest
  5. Unter Repository permissions erteile die Berechtigungen, die deine Actions benoetigen. Sofern du keine spezifischen GitHub API-Features brauchst, belasse die Standardberechtigungen, die read-Zugriff auf oeffentliche Ressourcen geben.
  6. Klicke auf Generate token und kopiere den Token

Setze den Token als Umgebungsvariable, bevor du actrun ausfuehrst:

Terminal-Fenster
export ACT_INPUT_TOKEN="ghp_your_token_here"

Navigiere zum Root deines Repositories und setze die folgenden Umgebungsvariablen:

Terminal-Fenster
cd /path/to/your/repo
export GITHUB_WORKSPACE="$(pwd)"
export GITHUB_EVENT_NAME="push"
VariableBeschreibung
GITHUB_WORKSPACEPfad zum Root deines Git-Repositories. actrun nutzt ihn zur Erkennung von Repository-Name, Branch und Commit.
GITHUB_EVENT_NAMEDas Event, das den Workflow ausgeloest hat (z.B. push, pull_request, workflow_dispatch).
Terminal-Fenster
actrun my_workflow.act

Wenn actrun einen GitHub Actions Workflow-Graph erkennt, der ausserhalb von GitHub Actions ausgefuehrt wird, konfiguriert es automatisch die folgenden Umgebungsvariablen basierend auf deinem Git-Repository:

VariableWertBeschreibung
CItrueZeigt eine CI-Umgebung an
GITHUB_ACTIONStrueZeigt eine GitHub Actions-Umgebung an
GITHUB_REPOSITORYowner/repoAbgeleitet vom Git-Remote origin
GITHUB_REFrefs/heads/branchAktuelle Git-Branch-Referenz
GITHUB_REF_NAMEbranchAktueller Branch-Name
GITHUB_SHACommit HashAktueller HEAD-Commit
RUNNER_OSmacOS / Linux / WindowsErkanntes Betriebssystem
RUNNER_ARCHX64 / ARM64Erkannte CPU-Architektur
RUNNER_TEMPTemp-VerzeichnisTemporaerer Speicher fuer Actions
RUNNER_TOOL_CACHE~/.actrun/tool-cacheWo Actions Tools cachen

Die folgenden Dateien fuer die Kommunikation zwischen Actions werden ebenfalls automatisch erstellt:

VariableZweck
GITHUB_OUTPUTActions schreiben ihre Outputs hierhin
GITHUB_ENVActions setzen Umgebungsvariablen hierhin
GITHUB_PATHActions fuegen PATH-Eintraege hierhin hinzu
GITHUB_STATEActions speichern ihren State hierhin
GITHUB_STEP_SUMMARYActions schreiben ihre Zusammenfassungen hierhin

Standardmaessig setzt actrun das Arbeitsverzeichnis auf GITHUB_WORKSPACE fuer GitHub Actions Workflow-Graphs. Du kannst dies mit der Umgebungsvariable ACT_CWD ueberschreiben:

Terminal-Fenster
export ACT_CWD="/path/to/custom/workdir"

ACT_CWD hat Vorrang vor GITHUB_WORKSPACE, wenn beide gesetzt sind.


Falls eine Action zusaetzliche Variablen benoetigt, fuege sie deiner Umgebung hinzu:

Terminal-Fenster
# Workflow-Metadaten
export GITHUB_WORKFLOW="My Workflow"
export GITHUB_JOB="build"
export GITHUB_RUN_ID="1"
export GITHUB_RUN_NUMBER="1"
# GitHub URLs
export GITHUB_SERVER_URL="https://github.com"
export GITHUB_API_URL="https://api.github.com"
export GITHUB_GRAPHQL_URL="https://api.github.com/graphql"
# Benutzerinfos (durch deine Daten ersetzen)
export GITHUB_REPOSITORY_OWNER="your-username"
export GITHUB_ACTOR="your-username"