Skam Docs

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@v4
2
Setup Node.js 20~5s
actions/setup-node@v4
3
Install PNPM v10~3s
pnpm/action-setup@v3
4
Cache PNPM Store~1s
actions/cache@v4 with pnpm-lock.yaml hash
5
Install Dependencies~30s
pnpm install --frozen-lockfile
6
Setup CI Env Vars~1s
Creates .env.local with dummy keys for both apps
7
Run Turbo QA Pipeline~2min
pnpm qa (Lint + Format + Typecheck + Build)
8
Run Lighthouse CI~1min
pnpm lighthouse with LHCI_GITHUB_APP_TOKEN

CI 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