I'm deploying a Firebase Cloud Function via this GitHub Action. When I deploy from my own machine using a service account it works fine. When running the Action using the same service account I'm met with the below error.
Final Error:
ERROR: error fetching storage source: generic::unknown: retry budget exhausted (3 attempts): fetching gcs source: unpacking source from gcs: source fetch container exited with non-zero status: 9
Preceding Logs:
End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of /tmp/source-archive.zip or /tmp/source-archive.zip.zip, and cannot find /tmp/source-archive.zip.ZIP, period.
Here's my Action yml:
name: Deploy
on:
pull_request:
branches:
- master
jobs:
integration-test:
name: Run tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: checkout repo and set up Node.js v12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: cd ./functions/ && npm install
- id: deploy
name: Deploy my_function to Cloud Functions
uses: google-github-actions/deploy-cloud-functions@v0.1.2
with:
name: my_function
runtime: nodejs12
credentials: ${{ secrets.GCP_ACCOUNT_JSON }}
source_dir: ./functions/
- id: echo_url
name: Echo deployed Cloud Function URL
run: echo ${{ steps.deploy.outputs.url }}
The function itself doesn't require GCS access, but the service account is an editor so it has it anyway. I guess this issues has more to do with the way GitHub source code is uploaded to GCS and then sourced from there to deploy? Any hints?