GitHub Actionsの::set-envを$GITHUB_ENVにマイグレーションするツールを書いた
セキュリティ的な問題のため、::set-env
と::add-path
構文が廃止されました。
echo "::set-env name=ENV_NAME::env_value"
echo "::add-path::/path/to/dir"
代わりに、$GITHUB_ENV
と $GITHUB_PATH
に追記する方法が追加されています。
echo "ENV_NAME=env_value" >> $GITHUB_ENV
echo "/path/to/dir" >> $GITHUB_PATH
- GitHub Actions: Deprecating set-env and add-path commands - GitHub Changelog
- Workflow commands for GitHub Actions - GitHub Docs
手動で置換したくなかったので、::set-env
から$GITHUB_ENV
に置換するツールを書きました。
.github/*.{yml,yaml}
があるリポジトリのルートで、npx set-env-to-github_env
を実行するだけでマイグレーションできます。
$ npx set-env-to-github_env
Before
name: test
on: [push, pull_request]
jobs:
test:
name: "Test"
runs-on: ubuntu-18.04
steps:
- name: set env for prod
if: github.ref == 'refs/heads/main'
run: |
echo "::set-env name=ACCOUNT_ID::${ACCOUNT_ID}"
echo "::set-env name=BUCKET_NAME::${BUCKET_NAME}"
env:
ACCOUNT_ID: 123456789012
BUCKET_NAME: deploy-prod
After
name: test
on: [push, pull_request]
jobs:
test:
name: "Test"
runs-on: ubuntu-18.04
steps:
- name: set env for prod
if: github.ref == 'refs/heads/main'
run: |
echo "ACCOUNT_ID=${ACCOUNT_ID}" >> $GITHUB_ENV
echo "BUCKET_NAME=${BUCKET_NAME}" >> $GITHUB_ENV
env:
ACCOUNT_ID: 123456789012
BUCKET_NAME: deploy-prod
::add-path::
は使ったことがなかったので対応していません。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。