name: Tests on: pull_request: branches: - main push: branches: - main workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test: runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: npm - name: Install dependencies run: npm ci - name: Run test suite env: CI: "true" run: npm run test -- --ci - name: Upload coverage artifact if: always() uses: actions/upload-artifact@v4 with: name: coverage-${{ github.run_id }} path: coverage if-no-files-found: ignore