GitHub Actionsにおける未許可`Reusable workflow`使用時のエラー
GitHub ActionsReusable workflowトラブルシュート
2025/4/28
起きたこと
このブログは、main
ブランチにプッシュされた内容がそのままデプロイされるよう、.github/workflows/deploy-main.yml
でワークフローを定義している。
先日、Rust演習の記録を公開しようとしたとき、突如エラーが発生した: エラー時のログ。
ざっと内容を見てみると、自分で定義したワークフローに入る前の、種々必要なデータを集めているところでエラーが起きているようだった。具体的には以下のようなメッセージで終了していた。
1Download action repository 'rtCamp/action-slack-notify@v2' (SHA:e31e87e03dd19038e411e38ae27cbad084a90661)
2Getting action download info
3Error: Missing download info for LoveToKnow/slackify-markdown-action@698a1d4d0ff1794152a93c03ee8ca5e03a310d4e
原因
前提として、以下の状態にあった。
- デプロイの成否を
rtCamp/action-slack-notify
でSlackに通知するようにしていた rtCamp/action-slack-notify
では、LoveToKnow/slackify-markdown-action
が使われていた- (公式が提供しているもの以外は) 許可した
reusable workflows
しか実行できないようにしており、上記2つのWorkflowを許可していた (それぞれメジャーバージョンでのみ指定)lovetoknow/slackify-markdown-action@v1
rtCamp/action-slack-notify@v2
そこから、rtCamp/action-slack-notify
の最新バージョン (v2.3.3, 2025/4/9リリース) での変更で、LoveToKnow/slackify-markdown-action
の使用バージョンがバージョン指定ではなく、ハッシュで行われるように変更された (↓みたいに)。
1- uses: LoveToKnow/slackify-markdown-action@v1
2+ uses: LoveToKnow/slackify-markdown-action@698a1d4d0ff1794152a93c03ee8ca5e03a310d4e #v1.1.1
3
その結果、LoveToKnow/slackify-markdown-action@698a1d4d0ff1794152a93c03ee8ca5e03a310d4e
は許可されていないとして、ワークフローが失敗するようになった。
解決策
LoveToKnow/slackify-markdown-action@698a1d4d0ff1794152a93c03ee8ca5e03a310d4e
を上述の許可リストに追加した。
rtCamp/action-slack-notify
を2.3.2
で指定したり、LoveToKnow/slackify-markdown-action@*
とかの書き方で雑に許可しても動くとは思う。
でもまあ、rtCamp/action-slack-notify
はとりあえず最新のバージョン使っといてと思うし、LoveToKnow/slackify-markdown-action
で何かが変わって、それがrtCamp/action-slack-notify
で採用されたのならそれを知りたいとも思うので、とりあえず個別に許可する方針で対応した。
まとめ
GitHub Actionsで、許可されていないReusable workflowを使おうとすると、Missing download info
とかいう、んなアホな的なエラーメッセージが出る。
エラーメッセージはちゃんと原因がわかるように表示しよう。