name: Test on: push: branches-ignore: ['main'] pull_request: permissions: contents: read jobs: lint: runs-on: ubuntu-24.04 timeout-minutes: 10 steps: - uses: actions/checkout@v7.0.1 with: persist-credentials: false - uses: actions/setup-node@v7.0.0 with: cache: npm node-version: 24.18.0 - run: npm ci - run: npm run lint - run: npm run build test: runs-on: ubuntu-24.04 timeout-minutes: 10 strategy: fail-fast: false matrix: # The floor in package.json engines, every LTS above it, and current. node: ['18', '20', '22', '24', '26'] steps: - uses: actions/checkout@v7.0.1 with: persist-credentials: false - uses: actions/setup-node@v7.0.0 with: cache: npm node-version: ${{ matrix.node }} - run: npm ci # Compiled rather than type-stripped: Node 18 and 20 cannot run TypeScript directly. - run: npm run test:compiled