
Python-Skript, das GitHub Actions Workflow-Dateien automatisch patcht, um veraltete und unsichere ::set-env- und ::add-path-Befehle durch die sichere Umgebungsdatei-Syntax zu ersetzen.
Dieses Skript ändert Zeilen in Ihrer GitHub Actions-Datei.
Sie geben einen Verzeichnisnamen an, und es sucht nach allen Dateien mit der Erweiterung '.sh' oder '.yml'.
Es erkennt diese Zeilen:
echo ::set-env name=FOO_BAR::$FOO_BAR
echo ::set-env name=FOO_BAR::${FOO_BAR}
echo "::set-env name=FOO_BAR::$FOO_BAR"
echo "::set-env name=FOO_BAR::${FOO_BAR}"
Alle Zeilen werden umgeschrieben zu
echo "FOO_BAR=$FOO_BAR" >> $GITHUB_ENV
Und
run: echo ::set-env name=FOO_BAR::"${GITHUB_SHA::8},dev-${GITHUB_SHA::8}"
wird zu
run: echo "FOO_BAR=${GITHUB_SHA::8},dev-${GITHUB_SHA::8}" >> $GITHUB_ENV
Sie können dieses Skript direkt wie folgt anwenden. Alle '.sh'- und '.yml'-Dateien in 'your_repo/.github/workflows' werden aktualisiert.
curl -sSL https://raw.githubusercontent.com/guettli/fix-CVE-2020-15228/main/fix_CVE_2020_15228.py | python3 - your_repo/.github/workflows
Bitte geben Sie diesem Projekt einen 'Star', wenn es für Sie nützlich war.
Ich habe kein funktionierendes Beispiel für add-path. Bisher wird dies nicht aktualisiert.
Wenn Sie mir die gewünschte Transformation mitteilen, kann ich sie hinzufügen. Vielen Dank.