2

When I'm trying to deploy the firebase project using GitHub action that give an error

enter image description here

My ci.yaml file is:

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
      - 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: deploy --only hosting:prod
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}

My Project is based on react web app and when I push the repo to GitHub that build using GitHub action and deploy the project to firebase.

dist is the public directory where production code to deploy to firebase

INDRAJITH EKANAYAKE
  • 3,894
  • 11
  • 41
  • 63
  • 1
    Since the error is occurring when using the `w9jds/firebase-action` 3rd party action it might be best to create an issue at that repository. The action author might be able to help you. https://github.com/w9jds/firebase-action – peterevans Oct 02 '19 at 14:50

3 Answers3

1

I think the following question/answer might be the solution to your issue.

How to add working directory to deployment in GitHub actions

You can now set the path to your firebase.json with PROJECT_PATH. Try changing your action settings to the following.

      - name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting:prod
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
          PROJECT_PATH: ./dist
peterevans
  • 34,297
  • 7
  • 84
  • 83
1

I did't use any environment such as for stagging and production or other aliases for this firebase project.

for more info Deploy to multiple environments with Firebase Hosting

so only need is deploy --only hosting

- name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
          PROJECT_PATH: ./dist
1

change all the dist to build it works in my case