Banda-Media/lunchMemo

View on GitHub
.github/workflows/main.yml

Summary

Maintainability
Test Coverage
name: CI
on: [push]
jobs:
  build:
    name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }}
    env:
      FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
      NEXT_PUBLIC_LM_FIREBASE_API_KEY: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_API_KEY}}
      NEXT_PUBLIC_LM_FIREBASE_AUTH_DOMAIN: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_AUTH_DOMAIN}}
      NEXT_PUBLIC_LM_FIREBASE_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_PROJECT_ID}}
      NEXT_PUBLIC_LM_FIREBASE_DATABASE_URL: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_DATABASE_URL}}
      NEXT_PUBLIC_LM_FIREBASE_STORAGE_BUCKET: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_STORAGE_BUCKET}}
      NEXT_PUBLIC_LM_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_MESSAGING_SENDER_ID}}
      NEXT_PUBLIC_LM_FIREBASE_APP_ID: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_APP_ID}}
      NEXT_PUBLIC_LM_FIREBASE_MEASUREMENT_ID: ${{ secrets.NEXT_PUBLIC_LM_FIREBASE_MEASUREMENT_ID}}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        node: ['12.x', '14.x']
        os: [ubuntu-latest, macOS-latest]

    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

      - name: Use Node ${{ matrix.node }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}

      - name: Install deps and build (with cache)
        uses: bahmutov/npm-install@v1

      - name: Lint
        run: yarn lint

      - name: Test
        run: yarn test --ci --coverage --maxWorkers=2

      - name: Build
        run: yarn build