こんにちは。ざわかけるのざわ(@zw_kakeru)です。
GithubActionsからAWS Lambdaを更新しようとしてハマったエラーをメモしておきます。
起こったこと
mainブランチへのpushをフックにしてAWS Lambdaを更新しようとしてGithubActionsをせかせか書いて実行してみたところ、次のようなエラーが出ました。
An error occurred (InvalidParameterValueException)
when calling the UpdateFunctionCode operation:
Uploaded file must be a non-empty zip
zipはきちんと作ってるはずなんですけどね、、空だと言われています。
解決策
これ、よくよく調べてみるとそもそもGithubActionsを実行する仮想環境上にこのリポジトリ自体がなく、コマンドを実行しようとしても全てが空振りしてしまっていたようでした。
ジョブ開始時にリポジトリを環境上にチェックアウトしなければいけませんでした。
jobs:
hogehoge-job:
runs-on: ubuntu-latest
steps:
- name: Checkout current project
uses: actions/checkout@v1
これを記述して実行してみると無事に動作しました。
おわりに
仮想環境に勝手にリポジトリごと用意してくれるわけではないんですね。
言われてみればそうかという気持ちですが、GithubActionsの理解が足りておらずハマってしまいました。
調べてもこんなアホな地雷を踏んでいる人がいないせいか、情報が出てこなかったのでここに書き記しておきます。