@@ -183,16 +183,13 @@ jobs:
183183 deploy-demo :
184184 needs : [build-and-test, edge-worker-e2e]
185185 runs-on : ubuntu-latest
186- # Only run on main branch pushes (production) - skip PRs for now
187- if : github.event_name == 'push' && github.ref == 'refs/heads/main'
188- environment : production
186+ environment : ${{ github.event_name == 'pull_request' && 'preview' || 'production' }}
189187 env :
190188 NX_CLOUD_ACCESS_TOKEN : ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
191189 CLOUDFLARE_API_TOKEN : ${{ secrets.CLOUDFLARE_API_TOKEN }}
192190 CLOUDFLARE_ACCOUNT_ID : ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
193- # Hardcoded for testing - these are public values
194- VITE_SUPABASE_URL : https://bsgbmmbmlmcmdnheuwmt.supabase.co
195- VITE_SUPABASE_ANON_KEY : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImJzZ2JtbWJtbG1jbWRuaGV1d210Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjIzNDA2NzIsImV4cCI6MjA3NzkxNjY3Mn0.Uoy8iqxycrqd4b6LPMMXWWSYrP1BDRMrJVgM2_vtl6o
191+ VITE_SUPABASE_URL : ${{ github.event_name == 'pull_request' && secrets.DEMO_PREVIEW_SUPABASE_URL || secrets.DEMO_PRODUCTION_SUPABASE_URL }}
192+ VITE_SUPABASE_ANON_KEY : ${{ github.event_name == 'pull_request' && secrets.DEMO_PREVIEW_SUPABASE_ANON_KEY || secrets.DEMO_PRODUCTION_SUPABASE_ANON_KEY }}
196193 steps :
197194 - uses : actions/checkout@v4
198195 with :
@@ -206,19 +203,7 @@ jobs:
206203 - name : Verify NX_BASE and NX_HEAD are set
207204 run : echo "BASE=$NX_BASE HEAD=$NX_HEAD"
208205
209- - name : Check if demo is affected
210- id : check-affected
211- run : |
212- if pnpm nx show projects --affected -t build --base="$NX_BASE" --head="$NX_HEAD" | grep -q "^demo$"; then
213- echo "affected=true" >> $GITHUB_OUTPUT
214- echo "Demo is affected by changes"
215- else
216- echo "affected=false" >> $GITHUB_OUTPUT
217- echo "Demo is not affected by changes - skipping deployment"
218- fi
219-
220206 - name : Validate Supabase environment variables
221- if : steps.check-affected.outputs.affected == 'true'
222207 run : |
223208 if [ -z "$VITE_SUPABASE_URL" ]; then
224209 echo "❌ Error: VITE_SUPABASE_URL is not set"
@@ -237,18 +222,22 @@ jobs:
237222 fi
238223 echo "✅ Supabase environment variables are valid"
239224
240- - name : Deploy demo to production
225+ - name : Deploy demo
241226 id : deploy-demo
242- if : steps.check-affected.outputs.affected == 'true'
227+ env :
228+ PREVIEW_NAME : pr-${{ github.event.pull_request.number }}
243229 run : |
244- echo "Deploying demo to production (demo.pgflow.dev)..."
245- pnpm nx run demo:deploy --skip-nx-cache
230+ if [[ "${{ github.event_name }}" == "pull_request" ]]; then
231+ pnpm nx affected -t deploy:preview --projects=demo --base="$NX_BASE" --head="$NX_HEAD"
232+ else
233+ pnpm nx affected -t deploy --projects=demo --base="$NX_BASE" --head="$NX_HEAD"
234+ fi
246235
247236 - name : Post deployment comment
248- if : always ()
237+ if : success ()
249238 uses : ./.github/actions/deployment-comment
250239 with :
251240 project-name : Demo
241+ preview-url : https://pr-${{ github.event.pull_request.number }}-pgflow-demo.jumski.workers.dev
252242 production-url : https://demo.pgflow.dev
253- # No preview URL - we only deploy production from main branch
254243
0 commit comments