name: Code Quality on: push: branches: [ main, develop ] pull_request: branches: [ main, develop ] jobs: code-quality: name: Code Quality Checks runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Frontend - Install & Lint run: | cd frontend npm ci npm run lint --if-present - name: Frontend - Type Check run: | cd frontend npm run type-check --if-present - name: Frontend - Build Check run: | cd frontend npm run build - name: Frontend - Bundle Analysis run: | cd frontend npm run build echo "Build artifacts ready for analysis" - name: Upload coverage uses: codecov/codecov-action@v3 with: files: ./frontend/coverage/coverage-final.json flags: frontend fail_ci_if_error: false dependency-check: name: Dependency Vulnerabilities runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Check frontend dependencies run: | cd frontend npm ci npm audit --production --audit-level=high performance: name: Performance Testing runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Build and measure run: | cd frontend npm ci npm run build du -sh dist/ echo "Build completed - checking asset sizes"