name: CI on: push: branches: [ master ] pull_request: permissions: contents: read # to fetch code (actions/checkout) env: # We only install Chromium manually PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: '1' jobs: Tests: runs-on: ${{ matrix.os }} timeout-minutes: 15 strategy: matrix: include: - node-version: 16 os: ubuntu-latest - node-version: 16 os: windows-latest - node-version: 16 os: macOS-latest - node-version: 18 os: ubuntu-latest - node-version: 20 os: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2.2.4 - uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: pnpm - run: pnpm install --frozen-lockfile - run: pnpm playwright install chromium - run: pnpm test env: CI: true Lint: runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2.2.4 - uses: actions/setup-node@v3 with: node-version: 16 cache: pnpm - run: 'pnpm i && pnpm format:check && pnpm lint'