ci: PR test workflow + lockfile; require node >=20.14

node --test --test-force-exit needs Node 20.14+/22, so the matrix is
[20.x, 22.x] and engines is bumped to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 15:49:59 -04:00
parent 36e9d5b0b3
commit 34b3f9f22a
3 changed files with 54 additions and 2 deletions
+52
View File
@@ -0,0 +1,52 @@
name: Pull Request Tests
on:
pull_request:
branches:
- master
push:
branches-ignore:
- master
jobs:
test:
name: Run Tests
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x, 22.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: nodejs/package-lock.json
- name: Install dependencies
working-directory: ./nodejs
run: npm ci
- name: Run all tests
working-directory: ./nodejs
run: npm test
test-summary:
name: Test Summary
runs-on: ubuntu-latest
needs: test
if: always()
steps:
- name: Check test results
run: |
if [ "${{ needs.test.result }}" != "success" ]; then
echo "Tests failed. PR cannot be merged."
exit 1
fi
echo "All tests passed successfully!"
+1 -1
View File
@@ -21,7 +21,7 @@
"nodemon": "^3.1.11"
},
"engines": {
"node": ">=18"
"node": ">=20.14"
}
},
"node_modules/@redis/bloom": {
+1 -1
View File
@@ -9,7 +9,7 @@
}
],
"engines": {
"node": ">=18"
"node": ">=20.14"
},
"scripts": {
"start": "node ./bin/www",