🐡
GitHub Actionsでmainマージ時にリリースタグを自動作成する
結論
release/a.b.c
をベースブランチとしたPull Requestをmainブランチに取り込むと自動でa.b.c
というtagを作成してくれるGitHub Actionsのworkflowを作成しました。
例) release/1.0.0
であればmain
へのマージコミットに対して1.0.0
というtagを作成します
name: Auto Release Tag
run-name: Tag for ${{ github.head_ref }}
on:
pull_request:
types:
- closed
branches:
- main
jobs:
main:
permissions:
contents: write
if: github.event.pull_request.merged == true && contains(github.head_ref, 'release')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Push tag
run: |
release_branch=${{ github.head_ref }}
version=$(echo $release_branch | awk -F/ '{print $2}')
git tag ${version} && git push origin ${version}
ポイントは${{ github.head_ref }}
でPull Requestのベースブランチが取得できる点です。
Discussion