Bump minimatch from 3.1.2 to 3.1.5 #192
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI Test | |
| on: | |
| push: | |
| branches: [ main, dev ] | |
| pull_request: | |
| branches: [ main, dev ] | |
| env: | |
| NODE_VERSION: '18' | |
| jobs: | |
| # Stage 1: Fast unit tests (fail fast) | |
| unit-tests: | |
| name: Unit Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build core package | |
| run: npm run build:core | |
| - name: Test core package (unit tests) | |
| run: npm run test:core | |
| - name: Build server package | |
| run: npm run build:server | |
| - name: Generate test certificates | |
| run: | | |
| mkdir -p server/cert | |
| openssl req -x509 -newkey rsa:2048 -nodes -sha256 \ | |
| -subj "/CN=localhost" \ | |
| -keyout server/cert/server.key \ | |
| -out server/cert/server.crt \ | |
| -days 1 | |
| - name: Test server package (unit/integration tests) | |
| run: npm run test:server | |
| # Stage 2: Database integration tests (parallel, after unit tests pass) | |
| integration-tests: | |
| name: ${{ matrix.database }} Integration Tests | |
| runs-on: ubuntu-latest | |
| needs: unit-tests | |
| strategy: | |
| matrix: | |
| database: [mysql, postgres, mongodb] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build core package | |
| run: npm run build:core | |
| - name: Build server package | |
| run: npm run build:server | |
| - name: Run ${{ matrix.database }} integration tests | |
| run: npm run test:db:${{ matrix.database }} -w server | |
| # Stage 3: End-to-End tests (only after all unit and integration tests pass) | |
| e2e: | |
| name: End-to-End Tests | |
| runs-on: ubuntu-latest | |
| needs: [unit-tests, integration-tests] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run E2E tests | |
| run: npm run test:e2e -w server |