.github/workflows/main.yml
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