Forgejo Runner v13: Änderungen, die Ihre Workflows beeinträchtigen können
Abschnitt betitelt „Forgejo Runner v13: Änderungen, die Ihre Workflows beeinträchtigen können“Wir haben die Runner von STACKIT Git auf Forgejo Runner v13 aktualisiert. Diese Version wertet Ausdrücke strenger aus, entfernt veraltete Workflow-Befehle, beschränkt Registry-Zugangsdaten auf den Job, der sie deklariert, und entfernt die verbliebene Gitea-Kompatibilität. Mehrere Fälle, die bisher nur eine Warnung erzeugt haben, lassen den Lauf jetzt fehlschlagen. Prüfen Sie Ihre Workflows daher auf die folgenden Änderungen.
Ungültige Ausdrücke und Matrizen lassen den Lauf fehlschlagen
Abschnitt betitelt „Ungültige Ausdrücke und Matrizen lassen den Lauf fehlschlagen“Ein Ausdruck, der nicht ausgewertet werden kann, zum Beispiel ein format()-Aufruf mit weniger Argumenten, als sein Format-String referenziert, lässt jetzt den Step oder Job fehlschlagen, statt eine Warnung zu erzeugen. Eine Matrix, die einen nicht definierten Wert ausschließt, ist jetzt ein Fehler, und der Workflow wird nicht ausgeführt.
Prüfen Sie die Ausdrücke und matrix-Definitionen in Ihren Workflow-Dateien.
Veraltete Workflow-Befehle wurden entfernt
Abschnitt betitelt „Veraltete Workflow-Befehle wurden entfernt“Die Befehle ::set-output, ::set-env und ::add-path haben keine Wirkung mehr, und ACTIONS_ALLOW_UNSECURE_COMMANDS aktiviert sie nicht wieder. Schreiben Sie stattdessen direkt in die Umgebungsdateien:
- Ersetzen Sie
echo "::set-output name=var::value"durchecho "var=value" >> "$FORGEJO_OUTPUT". - Ersetzen Sie
echo "::set-env name=VAR::value"durchecho "VAR=value" >> "$FORGEJO_ENV". - Ersetzen Sie
echo "::add-path::/custom/bin"durchecho "/custom/bin" >> "$FORGEJO_PATH".
Registry-Zugangsdaten werden pro Job deklariert
Abschnitt betitelt „Registry-Zugangsdaten werden pro Job deklariert“Der Runner meldet sich nicht mehr mit den Secrets DOCKER_USERNAME und DOCKER_PASSWORD bei Registries an, da diese Zugangsdaten an eine Registry gesendet werden könnten, für die sie nicht bestimmt sind. Wenn ein Job ein Image aus einer privaten Registry nutzt, deklarieren Sie die Zugangsdaten in diesem Job:
jobs: build: container: image: private.registry.example/app:latest credentials: username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_TOKEN }}Gitea-Kompatibilität wurde entfernt
Abschnitt betitelt „Gitea-Kompatibilität wurde entfernt“Der Kontext ${{ gitea.* }} wird nicht mehr unterstützt. Ersetzen Sie ihn in Ihren Workflows durch ${{ forgejo.* }}.
Steps laufen nicht mehr in einem Terminal
Abschnitt betitelt „Steps laufen nicht mehr in einem Terminal“Der Runner verbindet die Ausgabe eines Steps nicht mehr mit einem Terminal. Befehle, die Farben nur ausgeben, wenn sie ein Terminal erkennen, geben jetzt reinen Text aus. Setzen Sie FORCE_COLOR=1, um wieder eine farbige Ausgabe zu erhalten. Befehle, die ein Terminal voraussetzen, schlagen fehl. Ersetzen Sie zum Beispiel docker run -it durch docker run -i.
Wenn Sie eigene Runner betreiben
Abschnitt betitelt „Wenn Sie eigene Runner betreiben“- Docker Engine 25.0 oder neuer ist erforderlich. Wir empfehlen 28.0.1 oder neuer, da ältere Versionen mit Forgejo Runner v13 beim Anlegen von IPv6-Netzwerken fehlschlagen können.
- Die Variablen
GITEA_DEBUG,GITEA_TRACE,GITEA_RUNNER_CAPACITY,GITEA_RUNNER_FILE,GITEA_RUNNER_ENVIRONundGITEA_RUNNER_ENV_FILEwerden ignoriert. Entfernen Sie sie aus der Konfiguration und der Umgebung Ihrer Runner. - Die Option
container.network_modewurde entfernt. Nutzen Sie stattdessencontainer.network.
Weitere Details finden Sie in der Release-Ankündigung zu Forgejo Runner v13.0 und in den Release Notes von Forgejo Runner.
Wenn Sie Fragen haben, steht Ihnen unser STACKIT Help Center jederzeit zur Verfügung.