Skip to content

馃敄 v0.42.0

馃敄 v0.42.0 #21

name: Deploy on production
on:
push:
branches:
- production
jobs:
tests:
runs-on: ubuntu-latest
env:
CI: true
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/setup-java@v1
with:
java-version: 13
- name: Get yarn cache
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- run: yarn install --frozen-lockfile
- run: yarn test
- run: yarn test:emulator
- name: Run function tests
run: |
cd functions
yarn install --frozen-lockfile
yarn test
yarn test:emulator
- run: yarn build
env:
REACT_APP_AUTH_PROVIDERS: google,twitter,github
REACT_APP_API_KEY: ${{ secrets.PROD_FIREBASE_API_KEY }}
REACT_APP_AUTH_DOMAIN: ${{ secrets.PROD_FIREBASE_AUTH_DOMAIN }}
REACT_APP_PROJECT_ID: ${{ secrets.PROD_FIREBASE_PROJECT_ID }}
REACT_APP_STORAGE: ${{ secrets.PROD_FIREBASE_APP_STORAGE }}
PUBLIC_URL: https://${{ secrets.PROD_FIREBASE_AUTH_DOMAIN }}
- uses: actions/upload-artifact@v2
with:
name: build
path: build
deploy:
runs-on: ubuntu-latest
needs: tests
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/download-artifact@v2
with:
name: build
path: build
- run: |
cd functions
yarn install --frozen-lockfile
- uses: w9jds/firebase-action@master
with:
args: deploy --project=${{ secrets.PROD_FIREBASE_PROJECT_ID }} --non-interactive
env:
FIREBASE_TOKEN: ${{ secrets.PROD_FIREBASE_TOKEN }}