Skip to content

Footer B2B/PCORI Purge #414

Footer B2B/PCORI Purge

Footer B2B/PCORI Purge #414

Workflow file for this run

name: Enterprise CI Pipeline
on:
push:
branches: [main, master, develop]
pull_request:
branches: [main, master]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
NODE_VERSION: "20"
jobs:
quality-gate:
name: Quality Gate
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: "npm"
- name: Install dependencies
run: npm ci --legacy-peer-deps
- name: TypeScript type-check
run: npm run typecheck
- name: ESLint
run: npm run lint
# - name: Prettier format-check
# run: npx prettier --check .
- name: Unit tests + Coverage
run: npm test -- --coverage --passWithNoTests
env:
CI: true
- name: Upload coverage report
uses: actions/upload-artifact@v4
if: always()
with:
name: coverage-report
path: coverage/
retention-days: 14
- name: Security audit
run: npm audit --audit-level=high || true
# Non-blocking: awareness only, not a hard failure
- name: Production build
run: npm run build
env:
CI: true
NODE_ENV: production