📝
自作の GitHub Actions を Marketplace 公開前にテストする
以前スクラップに書いた内容をベースに、自作のGitHub Actionsをテストするための方法をまとめてみる
GitHubの公式ドキュメントに書かれている通り、カスタムアクションを定義するには、レポジトリ直下に action.yml
というファイルを追加する必要がある
自分の場合だとこんな感じ
ここでカスアムアクションの名前や入力として受け付ける値、出力として後続のjobに受け渡す値などを定義する
runs:
以降に実際のコマンドをつらつらと書き下していくのだが、問題はここで書いたコマンドをどうやってテストするのかということである
この点については公式のドキュメントにも特に具体的な案内はなかった
もちろん動くかどうかわからないけれどもとりあえずMarketplaceに公開してみて、その後自分の他のレポジトリで、公開したActionsを試しながらデバッグするという方法もあるだろうが、デバッグの効率を考えるともう少し小回りをきかせたいところ
これには以下のようなテスト用のGitHub Actionを作ることで回避できる
注目してほしいのは
- id: stale-flag-detector
uses: ./ # Directly use the action
の部分で uses:
に ./
を指定することでなんとレポジトリ直下に定義されている action.yml
を直接読みにいくことができる
これを使うとわざわざGitHub Marketplace経由でActionsを引っ張ってこなくても、自分が開発中のブランチでカスタムアクションの動作を検証することができる
自分の場合は on: workflow_dispatch
と組み合わせることで、mainブランチにマージする前にactionsの動作確認を行ってからマージするようにしている。
これによってカスタムアクションの開発効率がかなり上がる気がしている
Discussion