⬆️ chore: upgrade all dependencies to latest compatible versions #10
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 | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [18.x, 20.x, 22.x] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Use 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 linting | |
| run: npm run lint | |
| - name: Check code formatting | |
| run: npm run format:check | |
| - name: Run type checking | |
| run: npm run type-check | |
| - name: Run unit tests | |
| run: npm test | |
| - name: Build project | |
| run: npm run build | |
| - name: Generate test coverage | |
| run: npm run test:coverage | |
| - name: Upload test coverage | |
| if: matrix.node-version == '20.x' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: coverage/ | |
| security: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js 20.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20.x | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run security audit | |
| run: npm audit --audit-level=moderate | |
| - name: Check for known vulnerabilities | |
| run: npx audit-ci --moderate | |
| integration-tests: | |
| runs-on: ubuntu-latest | |
| needs: test | |
| services: | |
| gremlin-server: | |
| image: tinkerpop/gremlin-server:3.7.3 | |
| ports: | |
| - 8182:8182 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js 20.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20.x | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build project | |
| run: npm run build | |
| - name: Wait for Gremlin server to be ready | |
| run: ./scripts/wait-for-gremlin.sh | |
| - name: Run integration tests | |
| env: | |
| GREMLIN_ENDPOINT: localhost:8182/g | |
| run: npm run test:it |