/gcp-funs-gh-cd

GCP Functions deployment through GitHub Actions

Primary LanguageShellMIT LicenseMIT

Deploy to Firebase Functions for Node18

A GitHub Action to deploy to Firebase Cloud Functions for Node 18.

  • Make sure that you checkout the repository using the actions/checkout action
  • Make sure that you have the firebase.json file in the repository
  • To obtain the Firebase token, run firebase login:ci on your local computer and store the token as the FIREBASE_TOKEN secret
  • Specify the Firebase project name in the FIREBASE_PROJECT env var

Workflow examples

Deploy the main branch when a commit is pushed to it:

name: Deploy the main branch
on:
  push:
    branches:
      - main
jobs:
  main:
    name: Deploy to Firebase
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: aerenaim/gcp-funs-gh-cd@v1.0.0
      env:
        FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
        FIREBASE_PROJECT: firebase-project-id

Deploy only when a tag starts with v is pushed:

name: Deploy a tag
on:
  push:
    tags:
      - v*
jobs:
  main:
    name: Deploy to Firebase
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: aerenaim/gcp-funs-gh-cd@v1.0.0
      env:
        FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
        FIREBASE_PROJECT: firebase-project-id