Skip to content

Commit 6fea2b1

Browse files
committed
fix: simplify test workflow to Linux Node 22 only
Remove matrix testing strategy and test only on Linux Node 22. This simplifies CI/CD and reduces workflow execution time. Changes: - Remove matrix strategy from test.yml - Test only on ubuntu-latest with Node 22 - Update README.md to reflect single-platform testing
1 parent 69c3c21 commit 6fea2b1

2 files changed

Lines changed: 10 additions & 22 deletions

File tree

.github/workflows/test.yml

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,20 @@ jobs:
3434
- 'vitest.config.ts'
3535
- 'tsdown.config.ts'
3636
37-
# Matrix testing across Node.js versions and operating systems
37+
# Test on Linux Node 22 only
3838
test:
3939
needs: changes
4040
if: ${{ needs.changes.outputs.src == 'true' || github.event_name == 'workflow_dispatch' }}
41-
runs-on: ${{ matrix.os }}
42-
strategy:
43-
fail-fast: false
44-
matrix:
45-
node-version: [18, 20, 22]
46-
os: [ubuntu-latest, macos-latest, windows-latest]
41+
runs-on: ubuntu-latest
4742

4843
steps:
4944
- name: Checkout code
5045
uses: actions/checkout@v4
5146

52-
- name: Setup Node.js ${{ matrix.node-version }}
47+
- name: Setup Node.js 22
5348
uses: actions/setup-node@v4
5449
with:
55-
node-version: ${{ matrix.node-version }}
50+
node-version: 22
5651
cache: 'npm'
5752

5853
- name: Install dependencies
@@ -66,27 +61,20 @@ jobs:
6661

6762
- name: Generate coverage
6863
run: npm run coverage
69-
if: matrix.os == 'ubuntu-latest' && matrix.node-version == 22
7064

7165
- name: Upload coverage to GitHub
7266
uses: actions/upload-artifact@v4
73-
if: matrix.os == 'ubuntu-latest' && matrix.node-version == 22
7467
with:
7568
name: coverage-report
7669
path: coverage/
7770
retention-days: 30
7871

79-
# Summary job
80-
test-summary:
81-
needs: test
82-
runs-on: ubuntu-latest
83-
if: always()
84-
steps:
8572
- name: Test Summary
73+
if: always()
8674
run: |
87-
if [ "${{ needs.test.result }}" == "success" ]; then
88-
echo "✅ All tests passed across all Node.js versions and platforms!"
75+
if [ "${{ job.status }}" == "success" ]; then
76+
echo "✅ All tests passed on Linux Node 22!" >> $GITHUB_STEP_SUMMARY
8977
else
90-
echo "❌ Some tests failed. Check the test job for details."
78+
echo "❌ Tests failed. Check the output above for details." >> $GITHUB_STEP_SUMMARY
9179
exit 1
9280
fi

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
- **Automated releases** with release-please (semantic versioning)
4545
- **Automated dependency updates** with Renovate
4646
- **Auto-merge** for safe dependency patches
47-
- **Matrix testing** across Node 18, 20, 22 on Ubuntu, macOS, Windows
47+
- **Automated testing** on Linux Node 22
4848
- **Auto-labeling** for PRs based on changed files
4949

5050
### 📚 Comprehensive Documentation
@@ -275,7 +275,7 @@ See [SECURITY.md](SECURITY.md) for vulnerability reporting.
275275
- **Vitest** for fast unit testing
276276
- **@fast-check** for property-based testing (fuzz testing)
277277
- **80% coverage** threshold enforced
278-
- **Matrix testing** across Node versions and platforms
278+
- **Automated CI testing** on Linux Node 22
279279

280280
**Run tests:**
281281
```bash

0 commit comments

Comments
 (0)