@@ -15,7 +15,7 @@ concurrency:
1515jobs :
1616 build-and-deploy :
1717 runs-on : ubuntu-latest
18-
18+
1919 steps :
2020 # Checkout the repository
2121 - name : Checkout code
6868 echo "Generated channel name: $CHANNEL"
6969
7070 # Install Firebase CLI and deploy to preview channel
71+ # Only run if secrets are available (not on forks)
7172 - name : Deploy to Firebase preview channel
7273 id : firebase-deploy
74+ # Skip deployment for pull requests from forks (secrets are not available)
75+ if : ${{ secrets.FIREBASE_TOKEN != '' && secrets.FIREBASE_PROJECT_ID != '' }}
7376 env :
7477 FIREBASE_TOKEN : ${{ secrets.FIREBASE_TOKEN }}
7578 FIREBASE_PROJECT_ID : ${{ secrets.FIREBASE_PROJECT_ID }}
@@ -81,10 +84,10 @@ jobs:
8184 --expires 7d \
8285 --non-interactive \
8386 --json)
84-
87+
8588 # Extract preview URL from output
8689 PREVIEW_URL=$(echo "$DEPLOY_OUTPUT" | jq -r '.result[]?.url // empty')
87-
90+
8891 if [ -n "$PREVIEW_URL" ]; then
8992 echo "url=$PREVIEW_URL" >> $GITHUB_OUTPUT
9093 echo "✅ Deployed to preview channel: $PREVIEW_URL"
@@ -94,17 +97,41 @@ jobs:
9497 exit 1
9598 fi
9699
100+ # Add note when deployment is skipped
101+ - name : Deployment skipped notice
102+ if : ${{ secrets.FIREBASE_TOKEN == '' || secrets.FIREBASE_PROJECT_ID == '' }}
103+ run : |
104+ cat >> $GITHUB_STEP_SUMMARY << 'EOF'
105+ ## ℹ️ Firebase Deployment Skipped
106+
107+ Firebase deployment was skipped because the required secrets are not available.
108+ This typically happens for pull requests from forked repositories.
109+
110+ **Build Status:** ✅ Build completed successfully
111+
112+ ### What was tested:
113+ - ✅ Dependencies installed
114+ - ✅ Application built successfully
115+ - ✅ Tests passed
116+
117+ ### Note for maintainers:
118+ To deploy a preview for this PR, a maintainer needs to either:
119+ 1. Close and reopen the PR from the main repository, or
120+ 2. Manually trigger a deployment after merging
121+ EOF
122+ echo "⚠️ Firebase deployment skipped - secrets not available (likely a fork PR)"
123+
97124 # Add preview URL to job summary
98125 - name : Add deployment summary
99126 if : steps.firebase-deploy.outputs.url
100127 run : |
101128 cat >> $GITHUB_STEP_SUMMARY << EOF
102129 ## 🚀 Preview Deployment Successful
103-
130+
104131 **Channel:** \`${{ steps.channel.outputs.name }}\`
105132 **Preview URL:** ${{ steps.firebase-deploy.outputs.url }}
106133 **Expires:** 7 days from now
107-
134+
108135 ### Quick Actions
109136 - [🔗 Open Preview](${{ steps.firebase-deploy.outputs.url }})
110137 - **Branch:** ${{ github.ref_name }}
0 commit comments