GitHub Actions - Eine Aktion zum Generieren von Zikula-Modulen

in  Builds & Tests , , , , ,

GitHub Actions - Eine Aktion zum Generieren von Zikula-Modulen

Der Standalone-Generator

ModuleStudio bietet einen Standalone-Generator, mit dem sich jederzeit eine Anwendung über die Kommandozeile generieren lässt. Einige allgemeine Informationen hierzu sind der Dokumentation zu entnehmen. Ein simples Beispiel für die Nutzung findet sich ferner in diesem Artikel.

Eine Besonderheit hierbei ist, dass die verwendete jar-Datei bei jedem Build des Generators aktualisiert wird. Es handelt sich also immer um den aktuellen Git-Stand. Damit bietet es sich an, den Standalone-Generator zur kontinuierlichen Integration zu verwenden.

Einsatz in GitHub Actions

Wir stellen eine eigene GitHub Action bereit (generator-action), mit welcher der Generator mit zwei drei Zeilen in einen Workflow integriert werden kann.

Das sieht zum Beispiel so aus:

1
2
3
4
    - name: Call standalone generator
      uses: docker://guite/generator-action:latest
      with:
        args: MultiHook.mostapp Zikula/MultiHookModule "src/" true

Die Parameter haben die folgende Bedeutung:

  1. Der volle Name der Modelldatei. Beispiel: AcmeNews.mostapp.
  2. Name des Moduls inklusive dem Vendor und dem Module-Suffix. Beispiel: Acme/NewsModule.
  3. Pfad zum Verzeichnis, das den extensions/-Ordner enthält (inklusive Slash am Ende). Per Standard "".
  4. Ob zusätzliche Ausgaben erscheinen sollen (auf true setzen). Per Standard false.

Nach dem Generieren sollte man dann etwas mit dem veränderten Arbeitsbereich tun. Zum Beispiel könnte man die Änderungen committen oder, was mehr Sinn macht, einen Pull Request erstellen. Hier ein Beispiel für einen kompletten Workflow. Eine Liste der erstellten Pull Requests lässt sich hier einsehen.