@@ -106,9 +106,16 @@ jobs:
106106 NEXT_PUBLIC_SUPABASE_URL : ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
107107 NEXT_PUBLIC_SUPABASE_ANON_KEY : ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }}
108108 SUPABASE_SERVICE_ROLE_KEY : ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }}
109+ REDIS_URL : ${{ secrets.REDIS_URL }}
109110
110111 - name : Analyze bundle size
111112 run : npm run build:analyze
113+ env :
114+ NODE_ENV : production
115+ NEXT_PUBLIC_SUPABASE_URL : ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
116+ NEXT_PUBLIC_SUPABASE_ANON_KEY : ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }}
117+ SUPABASE_SERVICE_ROLE_KEY : ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }}
118+ REDIS_URL : ${{ secrets.REDIS_URL }}
112119
113120 - name : Upload build artifacts
114121 uses : actions/upload-artifact@v4
@@ -183,6 +190,7 @@ jobs:
183190 NEXT_PUBLIC_SUPABASE_URL : ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
184191 NEXT_PUBLIC_SUPABASE_ANON_KEY : ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }}
185192 SUPABASE_SERVICE_ROLE_KEY : ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }}
193+ REDIS_URL : ${{ secrets.REDIS_URL }}
186194
187195 - name : Wait for app to be ready
188196 run : |
@@ -314,6 +322,7 @@ jobs:
314322 NEXT_PUBLIC_SUPABASE_URL : ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
315323 NEXT_PUBLIC_SUPABASE_ANON_KEY : ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }}
316324 SUPABASE_SERVICE_ROLE_KEY : ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }}
325+ REDIS_URL : ${{ secrets.REDIS_URL }}
317326
318327 - name : Deploy to Vercel (Staging)
319328 id : deploy-staging
@@ -439,6 +448,7 @@ jobs:
439448 NEXT_PUBLIC_SUPABASE_URL : ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
440449 NEXT_PUBLIC_SUPABASE_ANON_KEY : ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }}
441450 SUPABASE_SERVICE_ROLE_KEY : ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }}
451+ REDIS_URL : ${{ secrets.REDIS_URL }}
442452
443453 - name : Deploy to Vercel (Production)
444454 id : deploy-production
@@ -592,16 +602,33 @@ jobs:
592602
593603 - name : Create Lighthouse configuration for deployed site
594604 run : |
595- cat > lighthouserc-deployed.js << 'EOF'
605+ # Get the deployment URL from the previous step
606+ DEPLOYMENT_URL="${{ needs.deploy-production.outputs.deployment-url }}"
607+
608+ # Validate deployment URL
609+ if [ -z "$DEPLOYMENT_URL" ]; then
610+ echo "❌ Deployment URL is empty, using fallback URL"
611+ DEPLOYMENT_URL="${{ secrets.PRODUCTION_URL }}"
612+ fi
613+
614+ # Ensure URL has protocol
615+ if [[ ! "$DEPLOYMENT_URL" =~ ^https?:// ]]; then
616+ echo "⚠️ Adding https:// protocol to URL: $DEPLOYMENT_URL"
617+ DEPLOYMENT_URL="https://$DEPLOYMENT_URL"
618+ fi
619+
620+ echo "🔍 Using deployment URL for Lighthouse: $DEPLOYMENT_URL"
621+
622+ cat > lighthouserc-deployed.js << EOF
596623 module.exports = {
597624 ci: {
598625 collect: {
599626 url: [
600- '${{ needs.deploy-production.outputs.deployment-url } }/',
601- '${{ needs.deploy-production.outputs.deployment-url } }/about',
602- '${{ needs.deploy-production.outputs.deployment-url } }/hackathons',
603- '${{ needs.deploy-production.outputs.deployment-url } }/leaderboard',
604- '${{ needs.deploy-production.outputs.deployment-url } }/auth/signin'
627+ '${DEPLOYMENT_URL }/',
628+ '${DEPLOYMENT_URL }/about',
629+ '${DEPLOYMENT_URL }/hackathons',
630+ '${DEPLOYMENT_URL }/leaderboard',
631+ '${DEPLOYMENT_URL }/auth/signin'
605632 ],
606633 numberOfRuns: 3,
607634 settings: {
@@ -653,7 +680,21 @@ jobs:
653680 - name : Run Lighthouse CI on deployed site
654681 run : |
655682 echo "🚀 Starting Lighthouse CI performance testing..."
656- echo "Testing URL: ${{ needs.deploy-production.outputs.deployment-url }}"
683+
684+ # Get the deployment URL
685+ DEPLOYMENT_URL="${{ needs.deploy-production.outputs.deployment-url }}"
686+ if [ -z "$DEPLOYMENT_URL" ]; then
687+ DEPLOYMENT_URL="${{ secrets.PRODUCTION_URL }}"
688+ fi
689+
690+ echo "Testing URL: $DEPLOYMENT_URL"
691+
692+ # Validate that we have a URL before running Lighthouse
693+ if [ -z "$DEPLOYMENT_URL" ]; then
694+ echo "❌ No deployment URL available for Lighthouse testing"
695+ echo "Skipping Lighthouse CI test"
696+ exit 0
697+ fi
657698
658699 # Run Lighthouse CI with the deployed configuration
659700 lhci autorun --config=lighthouserc-deployed.js
@@ -710,16 +751,33 @@ jobs:
710751
711752 - name : Create Lighthouse configuration for staging
712753 run : |
713- cat > lighthouserc-staging.js << 'EOF'
754+ # Get the deployment URL from the previous step
755+ DEPLOYMENT_URL="${{ needs.deploy-staging.outputs.deployment-url }}"
756+
757+ # Validate deployment URL
758+ if [ -z "$DEPLOYMENT_URL" ]; then
759+ echo "❌ Staging deployment URL is empty, using fallback URL"
760+ DEPLOYMENT_URL="${{ secrets.STAGING_URL }}"
761+ fi
762+
763+ # Ensure URL has protocol
764+ if [[ ! "$DEPLOYMENT_URL" =~ ^https?:// ]]; then
765+ echo "⚠️ Adding https:// protocol to staging URL: $DEPLOYMENT_URL"
766+ DEPLOYMENT_URL="https://$DEPLOYMENT_URL"
767+ fi
768+
769+ echo "🔍 Using staging deployment URL for Lighthouse: $DEPLOYMENT_URL"
770+
771+ cat > lighthouserc-staging.js << EOF
714772 module.exports = {
715773 ci: {
716774 collect: {
717775 url: [
718- '${{ needs.deploy-staging.outputs.deployment-url } }/',
719- '${{ needs.deploy-staging.outputs.deployment-url } }/about',
720- '${{ needs.deploy-staging.outputs.deployment-url } }/hackathons',
721- '${{ needs.deploy-staging.outputs.deployment-url } }/leaderboard',
722- '${{ needs.deploy-staging.outputs.deployment-url } }/auth/signin'
776+ '${DEPLOYMENT_URL }/',
777+ '${DEPLOYMENT_URL }/about',
778+ '${DEPLOYMENT_URL }/hackathons',
779+ '${DEPLOYMENT_URL }/leaderboard',
780+ '${DEPLOYMENT_URL }/auth/signin'
723781 ],
724782 numberOfRuns: 2,
725783 settings: {
@@ -765,7 +823,21 @@ jobs:
765823 - name : Run Lighthouse CI on staging site
766824 run : |
767825 echo "🚀 Starting Lighthouse CI performance testing on staging..."
768- echo "Testing URL: ${{ needs.deploy-staging.outputs.deployment-url }}"
826+
827+ # Get the deployment URL
828+ DEPLOYMENT_URL="${{ needs.deploy-staging.outputs.deployment-url }}"
829+ if [ -z "$DEPLOYMENT_URL" ]; then
830+ DEPLOYMENT_URL="${{ secrets.STAGING_URL }}"
831+ fi
832+
833+ echo "Testing URL: $DEPLOYMENT_URL"
834+
835+ # Validate that we have a URL before running Lighthouse
836+ if [ -z "$DEPLOYMENT_URL" ]; then
837+ echo "❌ No staging deployment URL available for Lighthouse testing"
838+ echo "Skipping Lighthouse CI test"
839+ exit 0
840+ fi
769841
770842 # Run Lighthouse CI with the staging configuration
771843 lhci autorun --config=lighthouserc-staging.js
0 commit comments