veza/.github/workflows/frontend-ci.yml

51 lines
973 B
YAML

name: Frontend CI
on:
push:
paths:
- "apps/web/**"
- ".github/workflows/frontend-ci.yml"
pull_request:
paths:
- "apps/web/**"
- ".github/workflows/frontend-ci.yml"
jobs:
test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: apps/web
steps:
- uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: 'npm'
cache-dependency-path: apps/web/package-lock.json
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: TypeScript check
run: npx tsc --noEmit
- name: Build
run: npm run build
- name: Bundle size gate
run: node scripts/check-bundle-size.mjs
- name: Audit dependencies
run: npm audit --audit-level=critical
- name: Run tests
run: npm run test -- --run