name: CI
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      # turbo cache
      - name: Turbo Cache
        id: turbo-cache
        uses: actions/cache@v2
        with:
          path: node_modules/.cache/turbo
          key: turbo-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }}
          restore-keys: |
            turbo-${{ github.job }}-${{ github.ref_name }}-

      # install modules
      - name: Install modules
        run: yarn

      # build
      - name: Build Packages
        run: yarn build:packages --cache-dir=".turbo"

      # run unit tests
      - name: Jest Annotations & Coverage
        run: yarn test:ci
