💨
実用的な GitHub Actions のデバッグ方法
課題
- GitHub Actions を実装した時に pull request を main ブランチにマージしないと動作確認できないことがよくあります。ただし、main にマージしたら実際に動作できないと修正してまたマージして動作確認という流れになると煩雑になってしまう。レビューも必要な場合は時間がかかるし、他人にも迷惑にかけてしまう
試した方法
- ローカルで動作するためのツールとして下記の act を試してみましたが、正直そんなに使いやすいわけでもない。
推奨方法
- ローカルでは動作環境を模擬するのが難しいため、実際の pull request の source ブランチで実施する。具体的には作った github action に 本来使うイベントの他に、デバッグ用の push event を仮で追加して commit を push することによって workflow を実行させて動作確認する
- 実装例
on:
[本来使うイベント]
push:
branches:
- 'source_branch_name'
手順
- 本来使うイベント以外に、動作確認用の push イベントを追加する
-
branches
は source branch への commit を限定するための設定 - イベントに依存する後続の設定があれば適度に値をハーディングして設定する
-
- 動作確認のために source branch に対して commit を push する
- commit の内容はテスト用なので適度で良い
- 動作確認終わったら push イベントを含めて不要な設定を削除する
補足
- push イベントの他に workflow_dispatch イベントを使えば手動でトリガーできるので便利じゃないかと考えたんですが、main ブランチにマージしないと実行できないため使えないです
-
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
- https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#workflow_dispatch
-
Discussion