--- name: CI - Test, Lint, and Build on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: node-version: [22.x, 24.x] steps: - uses: actions/checkout@v6 - name: Set up Node.js ${{ matrix.node-version }} uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-version }} cache: 'npm' cache-dependency-path: package-lock.json cache-key: node-${{ matrix.node-version }}-${{ hashFiles('package-lock.json') }} - name: Install dependencies run: npm ci - name: Run linters and type checking run: | npm run check npm run check:pages - name: Build status page run: npm run build:pages - name: Run tests run: | npm run test npm run test:pages