GitHub Actions in der Praxis: Automatisierung für digitale Ausgaben von Musikwerken

Dieser Artikel basiert auf einem Vortrag auf der Music Encoding Conference (MEC 2026) in Tokio am 28. Mai 2026
von Julia Maria Jaklin, Henning Burghoff, David M. Weigl.
Zusammenfassung:
Im Projekt E-LAUTE wird Lautenmusik aus dem deutschsprachigen Raum des 15. und 16. Jahrhunderts (Abb. 1) ediert und als digitale Edition bereitgestellt. Die Edition besteht aus mehreren tausend Dateien, die das Projektteam intern in rund 50 sogenannten Repositories verwaltet, je eines pro historischer Quelle: Online-Speicherplätze, die jede Änderung als eigene Version festhalten. Wir arbeiten mit etablierten Editierwerkzeugen, diese decken jedoch nicht alle Anforderungen unseres Projekts ab, sodass vieles weiterhin von Hand erledigt werden muss. Jede Datei benötigt zum Beispiel einen Kopf mit Informationen über die Quelle und die Bearbeiterinnen und Bearbeiter, Seitenumbrüche müssen mit den digitalisierten Bildern der Originalquelle verknüpft werden, und vor der Veröffentlichung prüfen wir alles anhand unserer Editionsrichtlinien.

Die Frage war also: Wie können wir diese Schritte so automatisieren, dass sie sich möglichst reibungslos in die bestehende Arbeitsweise unserer Editorinnen und Editoren einfügen? Da wir unsere Dateien ohnehin auf GitHub verwalten, einer weit verbreiteten Plattform für kollaboratives, versioniertes Arbeiten an Daten und Programmcode, haben wir uns für GitHub Actions entschieden. Damit kann GitHub Dateien per Knopfdruck öffnen, vorbereitete Programme darauf anwenden und das Ergebnis als neue Version speichern. Klingt gut – aber üblicherweise muss ein solcher Workflow in jedem Repository separat eingerichtet werden. Für uns würde das bedeuten, alles 50 Mal einzurichten.
Der erste Schritt bestand daher darin, die Daten von der Automatisierung zu trennen. Wir halten die Programme in einem einzigen zentralen Repository zusammen, während die Repositories mit den Musikdaten nur einen kurzen Verweis darauf enthalten (Abb. 2). Wenn ein Workflow gestartet wird, bringt GitHub die beiden zusammen, verarbeitet die Dateien und speichert die Änderungen zurück. So müssen Änderungen an den Programmen nur an einer Stelle vorgenommen werden, und andere Projekte können das zentrale Repository ebenfalls nutzen oder auf die gleiche Weise ein eigenes einrichten.

Unsere Editorinnen und Editoren bekommen davon kaum etwas mit, denn die Funktion ist in mei-friend integriert, einen an der mdw entwickelten Online-Editor für digitale Musik. Wenn etwa in einem neu digitalisierten Stück die Zeilenumbrüche neu gesetzt werden müssen, muss dies nicht mehr von Hand passieren: Im GitHub-Menü von mei-friend kann es geöffnet, die passende Aufgabe aus einer Liste gewählt, das Intervall auf einen neuen Zeilenumbruch nach jedem dritten Takt eingestellt und der Workflow gestartet werden. Ein Fortschrittsbalken zeigt an, was passiert, und wenige Augenblicke später kann das aktualisierte Stück betrachtet werden.
Wir werden die Automatisierung in E-LAUTE weiter ausbauen, und sie bildet auch die Basis des Projekts Let’s Encode. Sie ersetzt die editorische Arbeit nicht, kann den Editorinnen und Editoren aber wiederkehrende Routinetätigkeiten abnehmen. Wenn Sie den Ansatz in Ihrem eigenen Projekt ausprobieren möchten, finden Sie hier eine Anleitung und Vorlagen: https://mei-friend.github.io/docs/advanced/automation
Gefördert vom Österreichischen Wissenschaftsfonds (FWF): https://doi.org/10.55776/I6019 und https://doi.org/10.55776/PAT2277625