課題
「プルリクエストがマージされたら、xxをやる」というGithub Actionワークフローがよくあります。push
イベントをトリガーにして、処理を実行するのが普通ですが、プルリクエストのマージか普通の プッシュか区別できないでしょう。
下記の要望がよくあります。
hotfix/xxxx
ブランチがreleaseブランチにマージされたら、patchバージョンを上げて、リリースノートを作成する。
pushイベントなら難しいです。
解決策
pull_request
のclosedイベントをトリガーにする- ターゲットブランチをreleaseに限定する
- event.pull_request.mergedがtrueの時だけ処理を実行する
- head.refが
hotfix/xxxx
の時だけ処理を実行する
name: "hotfix merged"
on:
pull_request:
types: [closed]
branches:
- release
jobs:
auto-bump-patch:
if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'hotfix/')
runs-on: ubuntu-latest
steps:
- name: bump patch version
run: |
echo "bump patch version"
release
ブランチにhotfix/xxx
ブランチがマージされたら、patchバージョンを上げる処理を実行できるようになりました。
それでは、また。