diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index df12eca..12dbfd7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,23 +21,36 @@ jobs: node-version: [22.x, 24.x, 25.x] steps: - - uses: actions/checkout@v6 - - - name: "Use Node.js ${{ matrix.node-version }}" - uses: actions/setup-node@v6 - with: - node-version: ${{ matrix.node-version }} - - - name: "Security Audit" - run: | - # This package has ZERO production dependencies - # Any vulnerabilities are in peerDependencies (grunt's js-yaml issue) - # which are user's responsibility, not ours - npm audit --omit=dev --audit-level=moderate || { - echo "⚠️ Vulnerabilities found in peerDependencies (expected: grunt's js-yaml)" - echo " This package has ZERO production dependencies- these are not our issues" - exit 0 - } - - - name: "Run Tests" - run: npm test + - uses: actions/checkout@v6 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v6 + with: + node-version: ${{ matrix.node-version }} + + - name: "Security Audit" + run: | + # This package has ZERO production dependencies + # Any vulnerabilities are in peerDependencies (grunt's js-yaml issue) + # which are user's responsibility, not ours + npm audit --omit=dev --audit-level=moderate || { + echo "⚠️ Vulnerabilities in peerDependencies (grunt's js-yaml)" + echo " ZERO production dependencies- not our issues" + exit 0 + } + + - name: "Run Tests" + run: npm test + + # Summary job that requires all matrix jobs to pass + ci-success: + name: "CI Tests Complete" + runs-on: ubuntu-latest + needs: build + if: always() + steps: + - name: Check build matrix success + if: needs.build.result != 'success' + run: exit 1 + - name: Success + run: echo "All CI tests passed!" diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index cb3979b..c4f4724 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -34,7 +34,7 @@ jobs: # Cache node_modules for ESLint installation - name: "Cache npm dependencies" - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: node_modules key: npm-${{ runner.os }}-eslint