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が出力される。

