name: CI Tests on: push: branches: [ develop, feature/*, beta ] pull_request: branches: [ develop, beta, main ] jobs: test: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x, 18.x] steps: - name: Checkout code uses: actions/checkout@v3 - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: 'npm' - name: Install dependencies run: npm ci - name: Run linting run: npm run lint - name: Run tests run: npm test - name: Run coverage run: npm run test:coverage - name: Upload coverage reports uses: codecov/codecov-action@v3 if: matrix.node-version == '18.x' security-scan: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Run security audit run: | npm audit --audit-level high npm audit fix --dry-run