Skip to content

Test Matrix

Test Matrix #276

Workflow file for this run

name: Test Matrix
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
schedule:
# Run tests daily at 2 AM UTC to catch any dependency issues
- cron: '0 2 * * *'
jobs:
test-matrix:
name: Test on Node.js ${{ matrix.node-version }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node-version: [18, 20, 22]
os: [ubuntu-latest, windows-latest, macos-latest]
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'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Build verification
run: npm run vite:build
- name: Test results
if: always()
run: |
echo "Test completed on Node.js ${{ matrix.node-version }} (${{ matrix.os }})"
echo "Status: ${{ job.status }}"
test-summary:
name: Test Summary
runs-on: ubuntu-latest
needs: test-matrix
if: always()
steps:
- name: Test Matrix Results
run: |
echo "## Test Matrix Results" >> $GITHUB_STEP_SUMMARY
echo "All tests must pass across all supported environments" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Test Coverage:" >> $GITHUB_STEP_SUMMARY
echo "- 🧪 **146 total tests** (100% pass rate required)" >> $GITHUB_STEP_SUMMARY
echo "- 🔧 **Unit Tests**: Core service functionality" >> $GITHUB_STEP_SUMMARY
echo "- 🔗 **Integration Tests**: Component interactions" >> $GITHUB_STEP_SUMMARY
echo "- 🚀 **E2E Tests**: Complete user workflows" >> $GITHUB_STEP_SUMMARY
echo "- ⚡ **Performance Tests**: Edge cases and load scenarios" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Supported Environments:" >> $GITHUB_STEP_SUMMARY
echo "- Node.js 18, 20, 22" >> $GITHUB_STEP_SUMMARY
echo "- Ubuntu, Windows, macOS" >> $GITHUB_STEP_SUMMARY