pillowsoft / firebase-action

GitHub Action for interacting with Firebase

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub Actions for Firebase

This Action for firebase-tools enables arbitrary actions with the firebase command-line client.

Inputs

  • args - Required. This is the arguments you want to use for the firebase cli

Environment variables

  • FIREBASE_TOKEN - Required. The token to use for authentication. This token can be aquired through the firebase login:ci command.

  • PROJECT_ID - Optional. To specify a specific project to use for all commands, not required if you specify a project in your .firebaserc file.

  • PROJECT_PATH - Optional. The path to firebase.json if it doesn't exist at the root of your repository. e.g. ./my-app

  • RUN_SHELL_COMMAND - Optional. If defined, then run a arbitrary shell command (i.e. not just firebase)

Example

To authenticate with Firebase, and deploy to Firebase Hosting:

name: Build and Deploy
on:
  push:
    branches:
      - master

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Install Dependencies
        run: npm install
      - name: Build
        run: npm run build-prod
      - name: Archive Production Artifact
        uses: actions/upload-artifact@master
        with:
          name: dist
          path: dist
  deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Download Artifact
        uses: actions/download-artifact@master
        with:
          name: dist
      - name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: firebase deploy --only hosting:prod
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
          RUN_SHELL_COMMAND: "true"

License

The Dockerfile and associated scripts and documentation in this project are released under the MIT License.

Recommendation

If you decide to do seperate jobs for build and deployment (which is probably advisable), then make sure to clone your repo as the Firebase-cli requires the firebase repo to deploy (specifically the firebase.json)

About

GitHub Action for interacting with Firebase

License:MIT License


Languages

Language:Shell 68.1%Language:Dockerfile 31.9%