on:
  push:
    branches:
      - main
  pull_request:

name: main workflow

env:
  GITHUB_TOKEN: ${{ secrets.GH_PAT_TOKEN }}

jobs:
  lint:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - name: Setup Node.js
        uses: actions/setup-node@v2
        with:
          node-version: "16.11.0"
          cache: yarn
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GH_PAT_TOKEN }}

      - name: Install dependencies
        run: yarn install --immutable --ignore-scripts

      - name: Build
        run: yarn build

      - name: Run linters
        run: yarn lint

  tests:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - name: Setup Node.js
        uses: actions/setup-node@v2
        with:
          node-version: "16.11.0"
          cache: yarn
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GH_PAT_TOKEN }}

      - name: Install dependencies
        run: yarn install --immutable --ignore-scripts

      - name: Build
        run: yarn build

      - name: Run tests
        run: yarn test
