エラー発生

本サイトの環境はFirebaseにデプロイしており、GitHub Actionsで自動でデプロイするようにしていますが、突然エラーが発生して落ちるようになりました。

エラー内容

エラー内容は以下です。

Error: Failed to list functions for *******

The process '/usr/local/bin/npx' failed with exit code 1
Error: The process '/usr/local/bin/npx' failed with exit code 1

さすがにさっきのだけじゃあ何もわからないので少し探してみる。

エラー1

調べると以下のエラーが発生していました。

[2022-10-06T16:20:32.871Z] [functions] HTTP Error: 403, Cloud Functions API has not been used in project 700***** before or it is disabled. Enable it by visiting 

エラーの少し前になんかそれっぽいことが書いてありますね。「Cloud Functions API」とやらが有効化されていないから有効化しろとのことです。

とりあえず、GCPにログインして、対象のプロジェクトで「Cloud Functions API」を有効化します。

エラー2

先ほどのエラーはなくなりましたが、今度は以下のようなエラーが発生。(もともとあったかもしんない)

Error: HTTP Error: 403, Permission 'cloudfunctions.functions.list' denied on 'projects/**********/locations/-/functions'

firebaseのバグっぽい?調べると以下のIssueにあたりました。
https://github.com/FirebaseExtended/action-hosting-deploy/issues/203

一番評価がありそうな解決策を試してみます。
https://github.com/FirebaseExtended/action-hosting-deploy/issues/203#issuecomment-1127732956

方法は以下の通りです

  1. 「IAMと管理 > IAM」に移動してgithub-actionsから始まるアカウントを探す
  2. 鉛筆マークで「別のロールを追加」から、Cloud Functions 閲覧者を追加
  3. 正しいプロジェクトにいるか念のために確認

保存してGithubActionsを再実行したところ、うまく動作しました。

解決策・まとめ

どうやら、GCP関連の権限不足だった模様です。
どうしていきなり発生したのかはわかりません。本日(2022/10/6)にfirebaseから規約変更などのメールはありましたがそれが原因とは思えません。(GithubのIssueは数か月前のもの)
利用からちょうど3か月経とうかというところなので、無料期間外だからでしょうか。

まぁ、よくわからんけど解決したからヨシ!

2022/10/7 追記
Issueを追ってみたら、昨日あたりからこのエラーが発生したようです。
具体的な原因についてはわかりませんでした。

今回の問題は、以下の二つの操作で解決できました。

  • Cloud Functions APIの有効化
  • アカウントのロール追加