⚙Checkout
⚙Install Doppler CLI
⚙Auto-detect Doppler config → "preview"
⚙Setup Node.js + NPM auth
🔨npm install --legacy-peer-deps
⚙Sanitize branch name
⚙Compute preview origin URL
Conditional: only runs if preview_origin_env_var is set. Outputs https://pr-{branch}-live.solidprofessor.com
🔨doppler run -- npm run generate
Auth override: if preview_origin_env_var set, injects VITE_APP_SP_URL={origin} at build time
🚀wrangler versions upload --preview-alias {branch}
⚙Register KV: worker-preview:{alias} (7d TTL)
🚀Attach custom domain via CF API
pr-{branch}-live.solidprofessor.com → preview-router Worker
⚙Register KV: custom-domain:{hostname} (7d TTL)
🛡Smoke test .workers.dev URL (3 retries)
⚙Compute preview URL outputs
needs: deploy
🚀Post sticky PR comment with preview URL
pr-{branch}-live.solidprofessor.com/training
marocchino/sticky-pull-request-comment — reusable workflow comment suppressed