name: 'Test' on: push: branches: - main paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' jobs: test: runs-on: ${{ matrix.os }} timeout-minutes: 20 permissions: contents: read strategy: fail-fast: false matrix: os: - 'ubuntu-24.04' - 'macos-latest' - 'windows-latest' steps: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: '.nvmrc' cache: 'npm' - run: npm ci - name: Run prettier if: matrix.os == 'ubuntu-24.04' run: npm run format:check - name: Run eslint if: matrix.os == 'ubuntu-24.04' run: npm run lint - name: Run ncc if: matrix.os == 'ubuntu-24.04' run: npm run build - run: npm test - name: Upload test coverage as artifact uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: coverage-${{ matrix.os }} path: coverage - uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1