Wie führe ich GitHub Actions-Workflows lokal aus?

8

Ich plane, unseren Travis CI-Build mithilfe von Docker für unsere Pro-Commit-Tests auf GitHub-Aktionen zu verschieben.

Kann ich diese neuen GitHub Actions-Workflows reproduzierbar lokal ausführen? Gibt es eine generische Möglichkeit, einen GitHub Actions-Workflow lokal auszuführen?

William Entriken
quelle
1
Dies ist der Fall, wenn Sie immer noch die veraltete HCL-Syntax für Aktionen verwenden und nicht zum neuen YAML-Stil übergegangen sind. Ich habe noch nichts unternommen, um die neuen Workflows im Yaml-Stil zu unterstützen
smac89
Es besteht großes Interesse daran nejtos/act, die YAML-Syntax zu unterstützen. Siehe meine Antwort unten mit Links zu den Themen, über die diskutiert wird.
Jubair

Antworten:

1

Es gibt Werkzeuge wie das bereits erwähnte act, aber sie sind nicht perfekt. Sie sind mit diesem Problem nicht allein. Ähnliche Probleme sind:

  • wie man Jenkins Builds lokal testet
  • So testen Sie GitLab CI-Builds lokal
  • Testen von Circle CI-Builds lokal
  • So testen Sie XXXX-Builds lokal

Und meine Lösung für diese Probleme ist:

  • Vermeiden Sie Funktionen, die von Ihren CI-Tools bereitgestellt werden (GitHub-Aktionen, Gitlab CI usw.).
  • Schreiben Sie so viel wie möglich auf CI-agnostische Weise (BASH-Skripte, PowerShell-Skripte, Gradle-Skripte, NPM-Skripte, Docker-Dateien, Ansible-Skripte - alles, was Sie wissen).
  • Rufen Sie diese Skripte von Ihrem CI-Tool aus auf. In GitHub-Aktionen:run: your command to run
iirekm
quelle
Tatsächlich hat gitlab ein CLI-Tool zum Testen Ihrer Workflows:gitlab-runner exec docker my-job
Jubair