2023年6月9日 • ☕️ 1 min read

課題

「プルリクエストがマージされたら、xxをやる」というGithub Actionワークフローがよくあります。pushイベントをトリガーにして、処理を実行するのが普通ですが、プルリクエストのマージか普通の プッシュか区別できないでしょう。

下記の要望がよくあります。

hotfix/xxxxブランチがreleaseブランチにマージされたら、patchバージョンを上げて、リリースノートを作成する。

pushイベントなら難しいです。

解決策

  • pull_requestのclosedイベントをトリガーにする
  • ターゲットブランチをreleaseに限定する
  • event.pull_request.mergedがtrueの時だけ処理を実行する
  • head.refがhotfix/xxxxの時だけ処理を実行する
Copy
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バージョンを上げる処理を実行できるようになりました。

それでは、また。


関連投稿

Github Action作成用のテンプレートを作った

2023年7月2日

ThunderMiracle

Blog part of ThunderMiracle.com