@@ -185,16 +185,13 @@ jobs:
185185 deploy-demo :
186186 needs : [build-and-test, edge-worker-e2e]
187187 runs-on : ubuntu-latest
188- # Only run on main branch pushes (production) - skip PRs for now
189- if : github.event_name == 'push' && github.ref == 'refs/heads/main'
190- environment : production
188+ environment : ${{ github.event_name == 'pull_request' && 'preview' || 'production' }}
191189 env :
192190 NX_CLOUD_ACCESS_TOKEN : ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
193191 CLOUDFLARE_API_TOKEN : ${{ secrets.CLOUDFLARE_API_TOKEN }}
194192 CLOUDFLARE_ACCOUNT_ID : ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
195- # Hardcoded for testing - these are public values
196- VITE_SUPABASE_URL : https://bsgbmmbmlmcmdnheuwmt.supabase.co
197- VITE_SUPABASE_ANON_KEY : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImJzZ2JtbWJtbG1jbWRuaGV1d210Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjIzNDA2NzIsImV4cCI6MjA3NzkxNjY3Mn0.Uoy8iqxycrqd4b6LPMMXWWSYrP1BDRMrJVgM2_vtl6o
193+ VITE_SUPABASE_URL : ${{ github.event_name == 'pull_request' && secrets.DEMO_PREVIEW_SUPABASE_URL || secrets.DEMO_PRODUCTION_SUPABASE_URL }}
194+ VITE_SUPABASE_ANON_KEY : ${{ github.event_name == 'pull_request' && secrets.DEMO_PREVIEW_SUPABASE_ANON_KEY || secrets.DEMO_PRODUCTION_SUPABASE_ANON_KEY }}
198195 steps :
199196 - uses : actions/checkout@v4
200197 with :
@@ -208,19 +205,7 @@ jobs:
208205 - name : Verify NX_BASE and NX_HEAD are set
209206 run : echo "BASE=$NX_BASE HEAD=$NX_HEAD"
210207
211- - name : Check if demo is affected
212- id : check-affected
213- run : |
214- if pnpm nx show projects --affected -t build --base="$NX_BASE" --head="$NX_HEAD" | grep -q "^demo$"; then
215- echo "affected=true" >> $GITHUB_OUTPUT
216- echo "Demo is affected by changes"
217- else
218- echo "affected=false" >> $GITHUB_OUTPUT
219- echo "Demo is not affected by changes - skipping deployment"
220- fi
221-
222208 - name : Validate Supabase environment variables
223- if : steps.check-affected.outputs.affected == 'true'
224209 run : |
225210 if [ -z "$VITE_SUPABASE_URL" ]; then
226211 echo "❌ Error: VITE_SUPABASE_URL is not set"
@@ -239,18 +224,22 @@ jobs:
239224 fi
240225 echo "✅ Supabase environment variables are valid"
241226
242- - name : Deploy demo to production
227+ - name : Deploy demo
243228 id : deploy-demo
244- if : steps.check-affected.outputs.affected == 'true'
229+ env :
230+ PREVIEW_NAME : pr-${{ github.event.pull_request.number }}
245231 run : |
246- echo "Deploying demo to production (demo.pgflow.dev)..."
247- pnpm nx run demo:deploy --skip-nx-cache
232+ if [[ "${{ github.event_name }}" == "pull_request" ]]; then
233+ pnpm nx affected -t deploy:preview --projects=demo --base="$NX_BASE" --head="$NX_HEAD"
234+ else
235+ pnpm nx affected -t deploy --projects=demo --base="$NX_BASE" --head="$NX_HEAD"
236+ fi
248237
249238 - name : Post deployment comment
250- if : always ()
239+ if : success ()
251240 uses : ./.github/actions/deployment-comment
252241 with :
253242 project-name : Demo
243+ preview-url : https://pr-${{ github.event.pull_request.number }}-pgflow-demo.jumski.workers.dev
254244 production-url : https://demo.pgflow.dev
255- # No preview URL - we only deploy production from main branch
256245
0 commit comments