GITHUB_PATH変数
GitHub Actions内のシェルスクリプトでGITHUB_PATH
変数にリダイレクトでパス文字列を追加すると、そのパスが次のSTEPでも有効になる。
jobs:
job1:
runs-on: ubuntu-latest
steps:
...
run: |
echo "/path/to/bin" >> $GITHUB_PATH
上記のように$GITHUB_PATH
にパス文字列/path/to/bin
を追記すると、以降のSTEPで/path/to/bin
直下のバイナリをフルパスではなくファイル名だけで実行できるようになる。
実験
name: set path test
on:
workflow_dispatch:
jobs:
test-job:
runs-on: ubuntu-latest
steps:
# ① ${{ github.workspace }}/bin に foo.sh を作成
- name: make shell script
run: |
mkdir -p ${{ github.workspace }}/bin
echo "#!/bin/sh" >> ${{ github.workspace }}/bin/foo.sh
echo "echo hello" >> ${{ github.workspace }}/bin/foo.sh
chmod +x ${{ github.workspace }}/bin/foo.sh
# ② ${{ github.workspace }}/bin を PATH (GITHUB_PATH) に追加
- name: set path
run: |
echo ${{ github.workspace }}/bin >> $GITHUB_PATH
# ③ foo.sh をフルパスではなくファイル名だけで実行
- name: run shell script
run: |
foo.sh
上記の実験ワークフローでは3ステップに分かれている。
①では${{ github.workspace }}/bin
にfoo.sh
を作成している。
②では${{ github.workspace }}/bin
を$GITHUB_PATH
に追加している。
$GITHUB_PATH
にパスを追加したので③ではファイル名foo.sh
だけで実行できる。
実行すると以下の画像のようにfoo.sh
が正常に実行され、hello
が出力される。