CI/CD Pipeline
GitHub Actions workflow with quality gates, caching, and Lighthouse CI.
Source: .github/workflows/ci.yml
Triggers
Push
Runs on every push to main branch
Pull Request
Runs on opened and synchronize events
Pipeline Steps
1
Checkout Repo~2s
actions/checkout@v42
Setup Node.js 20~5s
actions/setup-node@v43
Install PNPM v10~3s
pnpm/action-setup@v34
Cache PNPM Store~1s
actions/cache@v4 with pnpm-lock.yaml hash5
Install Dependencies~30s
pnpm install --frozen-lockfile6
Setup CI Env Vars~1s
Creates .env.local with dummy keys for both apps7
Run Turbo QA Pipeline~2min
pnpm qa (Lint + Format + Typecheck + Build)8
Run Lighthouse CI~1min
pnpm lighthouse with LHCI_GITHUB_APP_TOKENCI Environment Variables
The pipeline creates dummy environment variables for the build. These are not real credentials.
.env.local (CI-generated)
NEXT_PUBLIC_SUPABASE_URL=https://ci-dummy.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=ci-dummy-anon-key
SUPABASE_SERVICE_ROLE_KEY=ci-dummy-service-key
NEXT_PUBLIC_SITE_URL=http://localhost:3000
SHOPIER_PAT=dummy
RESEND_API_KEY=dummy
DISCORD_BOT_TOKEN=dummy
NEXT_PUBLIC_VAPID_PUBLIC_KEY=dummy