Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 33 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "Success" step should have a condition to only run when the build job succeeds. Currently, without a condition, this step will be attempted regardless of whether the previous step failed. Add if: needs.build.result == 'success' to ensure this step only runs when all matrix jobs pass.

Suggested change
- name: Success
- name: Success
if: needs.build.result == 'success'

Copilot uses AI. Check for mistakes.
run: echo "All CI tests passed!"
2 changes: 1 addition & 1 deletion .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down