name: ci
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - '**'
jobs:
  test:
    strategy:
      matrix:
        node: [ '18', '20' ]
    name: Node ${{ matrix.node }}
    runs-on: ubuntu-latest
    timeout-minutes: 30
    env:
      COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
      COVERAGE_OPTION: ./node_modules/.bin/nyc
    steps:
      - uses: actions/checkout@v4
      - name: Use Node.js
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node }}
          cache: 'npm'
      - name: Install dependencies
        run: npm ci
      - run: npm run coverage
      - run: bash <(curl -s https://codecov.io/bash)
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
