name: Deploy on: [push] jobs: test: name: Test runs-on: ubuntu-latest env: REACT_APP_STORAGE_BUCKET: ${{ secrets.REACT_APP_STORAGE_BUCKET }} REACT_APP_PROJECT_ID: ${{ secrets.REACT_APP_PROJECT_ID }} REACT_APP_MSG_SENDER_ID: ${{ secrets.REACT_APP_MSG_SENDER_ID }} REACT_APP_MEASUREMENT_ID: ${{ secrets.REACT_APP_MEASUREMENT_ID }} REACT_APP_DB_URL: ${{ secrets.REACT_APP_DB_URL }} REACT_APP_AUTH_DOMAIN: ${{ secrets.REACT_APP_AUTH_DOMAIN }} REACT_APP_APP_ID: ${{ secrets.REACT_APP_APP_ID }} REACT_APP_API_KEY: ${{ secrets.REACT_APP_API_KEY }} steps: - uses: actions/checkout@v2 - name: Install dependencies run: yarn install --frozen-lockfile - name: Unit tests run: yarn test --watchAll=false - name: E2E tests uses: cypress-io/github-action@v1 with: start: yarn start wait-on: 'http://localhost:3000' release: name: Release if: ${{ github.ref == 'refs/heads/master' }} runs-on: ubuntu-latest env: REACT_APP_STORAGE_BUCKET: ${{ secrets.REACT_APP_STORAGE_BUCKET }} REACT_APP_PROJECT_ID: ${{ secrets.REACT_APP_PROJECT_ID }} REACT_APP_MSG_SENDER_ID: ${{ secrets.REACT_APP_MSG_SENDER_ID }} REACT_APP_MEASUREMENT_ID: ${{ secrets.REACT_APP_MEASUREMENT_ID }} REACT_APP_DB_URL: ${{ secrets.REACT_APP_DB_URL }} REACT_APP_AUTH_DOMAIN: ${{ secrets.REACT_APP_AUTH_DOMAIN }} REACT_APP_APP_ID: ${{ secrets.REACT_APP_APP_ID }} REACT_APP_API_KEY: ${{ secrets.REACT_APP_API_KEY }} steps: - uses: actions/checkout@v2 - name: Install dependencies run: yarn install --frozen-lockfile - name: Build run: yarn build - name: Deploy to Firebase uses: w9jds/firebase-action@master with: args: deploy env: FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}