GITHUB_REF_NAMEが使えるようになったのでそちらを使おう!
以下、太古の昔の手法です。
IT考古学的に、将来なんらかの文化的価値が出るかもしれないので保存しておきます。
GitHubActionsでブランチ名を取りたいけど毎回忘れるのでメモ。
下記の環境変数と、gitコマンドによる取得を試しています。
確認に使ったyamlファイル
name: Build
on:
  workflow_dispatch: # 手動で任意のブランチをビルドしたい
  pull_request:
    branches:
      - main         # mainあてのPRをビルドしたい
  push:
    branches:
      - main         # mainにPRがマージされてpushされたらビルドしたい
      - develop      # developにPRがマージされてpushされたらビルドしたい
    tags:
      - v*           # タグが打たれたらビルドしたい
jobs:
  prepare:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Set tag names
        id: tag_names
        run: |
          echo "GITHUB_EVENT_NAME                         =" "${GITHUB_EVENT_NAME}"
          # git コマンドでの習得テスト (sedは、いろいろ試しているときの消し忘れなので気にしないでください)
          echo "git branch --show-current | sed 's|/|-|g' =" $(git branch --show-current | sed 's|/|-|g')
          echo "git rev-parse --short HEAD                =" $(git rev-parse --short HEAD)
          echo "git describe --tags --always              =" $(git describe --tags --always)
          # 環境変数での習得テスト
          echo "GITHUB_REF#refs/heads/                    =" "${GITHUB_REF#refs/heads/}"
          echo "GITHUB_HEAD_REF#refs/heads/               =" "${GITHUB_HEAD_REF#refs/heads/}"
          echo "GITHUB_BASE_REF#refs/heads/               =" "${GITHUB_BASE_REF#refs/heads/}"
トリガーごとの動作
1. push branch
mainブランチをpushする。
(mainあてのPRがマージされたときも同じ)
gitコマンドでも環境変数でも取れる。
git describe --tags --always はalwaysオプションつけているので、タグが無いときはコミットハッシュがとれています。
2. pull_request
feature/test01 -> main のPRを作成。
PRをマージした場合のcommit hashについて、ビルドしてdockerイメージを作りたい。
イメージのタグはPRもとのブランチ名にしたい。
そんなときは GITHUB_HEAD_REF から取る。
3. push tag
github web-ui から v0.0.1 というリリースを作成。
ブランチ名など存在しませんよ。
4. workflow_dispatch
github web-ui から feature/test01 というブランチを選んで Run workflow。
 
push branchとおんなじですね。
まとめ
この記事を書いたことを覚えていますように 



