UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Github Actions】ブランチ名を取得したい

ChromaticのビルドをGithub ActionsのJobにするときにブランチ名を使いたい

Github Actionsでブランチ名を取得するにはどうするか調べた

以下の記事が参考になった

qiita.com

プルリクエスト時は以下

マージするブランチ名は ${{github.head_ref}}
マージ先のブランチ名は ${{github.base_ref}}

公式ドキュメントによるとトリガーするイベントが pull_request または pull_request_targetのときのみ使えるとのこと

docs.github.com

プッシュ時は直前のステップでbranch名を出力し、それを変数として使えるようにするというちょっと面倒な方法みたい

    steps:
      - name: Extract branch name
        shell: bash
        run: echo "::set-output name=branch::${GITHUB_REF#refs/heads/}"
        id: extract_branch

      - name: Print branch name
        env:
          BRANCH_NAME: ${{ steps.extract_branch.outputs.branch }}
        run: echo $BRANCH_NAME

set-outputはワークフローコマンドと言って、アクションのコード内でシェルコマンドを実行する際に使えるコマンド

docs.github.com