All Projects β†’ w9jds β†’ Firebase Action

w9jds / Firebase Action

Licence: mit
GitHub Action for interacting with Firebase

Programming Languages

shell
77523 projects

Labels

Projects that are alternatives of or similar to Firebase Action

Newsbuzz
News App created in Flutter using News API for fetching realtime data and Firebase as the backend and authenticator.
Stars: ✭ 466 (-15.88%)
Mutual labels:  firebase
Firebase Module
πŸ”₯ Easily integrate Firebase into your Nuxt project. πŸ”₯
Stars: ✭ 493 (-11.01%)
Mutual labels:  firebase
Flank
🚀 Massively parallel Android and iOS test runner for Firebase Test Lab
Stars: ✭ 509 (-8.12%)
Mutual labels:  firebase
Firebase Gcp Examples
πŸ”₯ Firebase app architectures, languages, tools & some GCP things! React w Next.js, Svelte w Sapper, Cloud Functions, Cloud Run.
Stars: ✭ 470 (-15.16%)
Mutual labels:  firebase
Angular Shoppingcart
ShoppingCart (Ecommerce) πŸ›’ Application using Angular10, Firebase, PWA, Drag&Drop, Materialized Bootstrap and i18n πŸš€πŸ”₯πŸ‘¨β€πŸ’»
Stars: ✭ 483 (-12.82%)
Mutual labels:  firebase
Chat app
A flutter chat app built with firestore. It is clone of messenger.User can create stories,chat and search in real time.
Stars: ✭ 493 (-11.01%)
Mutual labels:  firebase
Flutterfire
πŸ”₯ A collection of Firebase plugins for Flutter apps.
Stars: ✭ 5,979 (+979.24%)
Mutual labels:  firebase
Angular Commerce
Angular components for scaffolding online store
Stars: ✭ 526 (-5.05%)
Mutual labels:  firebase
Messenger
iOS - Real-time messaging app 🎨
Stars: ✭ 491 (-11.37%)
Mutual labels:  firebase
Angular Material App
εŸΊδΊŽζœ€ζ–°Angular 9ζ‘†ζžΆδΈŽMaterial 2ζŠ€ζœ―ηš„webδΈ­εŽε°ε‰η«―εΊ”η”¨ζ‘†ζžΆγ€‚
Stars: ✭ 509 (-8.12%)
Mutual labels:  firebase
Flutter Development Roadmap
Flutter App Developer Roadmap - A complete roadmap to learn Flutter App Development. I tried to learn flutter using this roadmap. If you want to add something please contribute to the project. Happy Learning
Stars: ✭ 474 (-14.44%)
Mutual labels:  firebase
Nuxt Firebase Sns Example
Nuxt v2 & Firebase(Hosting / Functions SSR / Firestore), Google Auth SNS Example.
Stars: ✭ 485 (-12.45%)
Mutual labels:  firebase
Nextjs Firebase Authentication
Next.js + Firebase Starter
Stars: ✭ 502 (-9.39%)
Mutual labels:  firebase
Sol Journal
✎ Simple, personal journaling progressive web app
Stars: ✭ 470 (-15.16%)
Mutual labels:  firebase
Tamiat
⛡️ Vuejs and Firebase based CMS
Stars: ✭ 510 (-7.94%)
Mutual labels:  firebase
React Firebase Starter
Boilerplate (seed) project for creating web apps with React.js, GraphQL.js and Relay
Stars: ✭ 4,366 (+688.09%)
Mutual labels:  firebase
Meal Prep
Source code for a 4-part series I wrote about Vue, Vue Router, Vuex and Vuetify
Stars: ✭ 496 (-10.47%)
Mutual labels:  firebase
Redux Firestore
Redux bindings for Firestore
Stars: ✭ 530 (-4.33%)
Mutual labels:  firebase
Todo Angular Firebase
Todo app with Angular CLI β€’ AngularFire2 β€’ Firebase β€’ OAuth β€’ SW-Precache
Stars: ✭ 517 (-6.68%)
Mutual labels:  firebase
Rxfirebase
Rxjava 2.0 wrapper on Google's Android Firebase library.
Stars: ✭ 509 (-8.12%)
Mutual labels:  firebase

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 if GCP_SA_KEY is not set. The token to use for authentication. This token can be aquired through the firebase login:ci command.

  • GCP_SA_KEY - Required if FIREBASE_TOKEN is not set. A base64 encoded private key (json format) for a Service Account with the Firebase Admin role in the project, and if your deploying functions you would also need the Cloud Functions Developer role. And since the deploy service account is using the App Engine default service account in the deploy process, it also needs the Service Account User role. If your only doing Hosting Firebase Hosting Admin is enough.

  • 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 the folder containing firebase.json if it doesn't exist at the root of your repository. e.g. ./my-app

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/[email protected]
      - name: Install Dependencies
        run: npm install
      - name: Build
        run: npm run build-prod
      - name: Archive Production Artifact
        uses: actions/[email protected]
        with:
          name: dist
          path: dist
  deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/[email protected]
      - name: Download Artifact
        uses: actions/[email protected]
        with:
          name: dist
          path: dist
      - name: Deploy to Firebase
        uses: w9jds/[email protected]
        with:
          args: deploy --only hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}

Alternatively:

        env:
          GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }}

If you have multiple hosting environments you can specify which one in the args line. e.g. args: deploy --only hosting:[environment name]

If you want to add a message to a deployment (e.g. the Git commit message) you need to take extra care and escape the quotes or the YAML breaks.

        with:
          args: deploy --message \"${{ github.event.head_commit.message }}\"

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)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].