
Python-скрипт, который автоматически патчит файлы рабочих процессов GitHub Actions, заменяя устаревшие и небезопасные команды ::set-env и ::add-path на безопасный синтаксис файла окружения.
Этот скрипт изменяет строки в вашем файле GitHub Actions.
Вы передаёте ему имя каталога, и он ищет все файлы с расширениями ".sh" или ".yml".
Он распознаёт следующие строки:
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}"
Все строки перезаписываются на
echo "FOO_BAR=$FOO_BAR" >> $GITHUB_ENV
И
run: echo ::set-env name=FOO_BAR::"${GITHUB_SHA::8},dev-${GITHUB_SHA::8}"
становится
run: echo "FOO_BAR=${GITHUB_SHA::8},dev-${GITHUB_SHA::8}" >> $GITHUB_ENV
Вы можете применить этот скрипт напрямую следующим образом. Все файлы ".sh" и ".yml" в каталоге "your_repo/.github/workflows" будут обновлены.
curl -sSL https://raw.githubusercontent.com/guettli/fix-CVE-2020-15228/main/fix_CVE_2020_15228.py | python3 - your_repo/.github/workflows
Пожалуйста, поставьте этому проекту "звезду", если он оказался вам полезен.
У меня нет рабочего примера add-path. Пока что это не обновляется.
Если вы скажете мне желаемое преобразование, я смогу его добавить. Спасибо.