プルリクエストがマージされたときにGitHubActionsのワークフローが実行されるようにする
穴があった設定
個人開発において、プルリクエストがマージされたときに実行されるGitHubActionsのワークフローを以下のように設定していた。
name: Some Build
on:
pull_request:
branches:
- main
types:
- closed
jobs:
build:
runs-on: ubuntu-latest
steps:
しかし、この設定には抜け穴があり、プルリクエストをマージせずにクローズしたときでも実行されてしまった。この設定を修正することで、プルリクエストがマージされたときにだけワークフローが実行されるようにしたい。
修正後の設定
GitHubActionsにはプルリクエスト関連のトリガーでmerged
のようなイベントは用意されていない。
そのため、以下のようにif
条件を使うことでマージ時にのみジョブが実行されるようにする。
name: Some Build
on:
pull_request:
branches:
- main
types:
- closed
jobs:
build:
if: github.event.pull_request.merged == true # これ
runs-on: ubuntu-latest
steps:
これでプルリクエストがマージされたときにだけワークフローが実行されるようになった。