name: Build and Lint
on: [push]
jobs:
  buildAndLint:
    env:
      NODE_ENV: test
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        node: ['18.x']
        os: [ubuntu-latest]
    steps:
      - name: Checkout repo
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - uses: pnpm/action-setup@v2
        with:
          version: 8.5.1

      - name: Use Node ${{ matrix.node }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node }}
          # cache: 'pnpm' # You can active this cache when your repo has a lockfile

      - name: Install deps (with cache)
        run: pnpm install

      - name: Next.js cache
        uses: actions/cache@v3
        with:
          path: ${{ github.workspace }}/.next/cache
          key: ${{ runner.os }}-${{ runner.node }}-${{ hashFiles('**/pnpm-lock.yaml') }}-nextjs

      - name: Build and test
        run: pnpm build && pnpm lint
