name: CI on: push: branches: ['**'] pull_request: jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: node-version: [16.x, 18.x, 20.x] steps: - uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'yarn' - name: Install dependencies run: yarn install --frozen-lockfile - name: Lint run: yarn lint - name: Prettier check run: yarn prettier:check - name: Type check run: yarn ts-check - name: Unit tests run: yarn test --coverage --runInBand - name: Build package run: yarn build - name: Upload coverage to Codecov if: matrix.node-version == '20.x' uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./coverage/lcov.info flags: unittests fail_ci_if_error: false