Deploy Supabase Edge Functions to PROD #122
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Supabase Edge Functions to PROD | |
| on: | |
| workflow_run: | |
| workflows: [ "Regression Tests" ] | |
| types: | |
| - completed | |
| workflow_dispatch: # Allow manual triggering | |
| jobs: | |
| deploy: | |
| name: Deploy Edge Functions to Supabase | |
| runs-on: ubuntu-latest | |
| if: ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' && github.event.workflow_run.head_branch == 'main') }} | |
| environment: PROD | |
| steps: | |
| - name: Checkout code (workflow_run) | |
| if: github.event_name == 'workflow_run' | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.workflow_run.head_sha }} | |
| - name: Checkout code | |
| if: github.event_name != 'workflow_run' | |
| uses: actions/checkout@v4 | |
| - name: Setup Supabase CLI | |
| uses: supabase/setup-cli@v1 | |
| with: | |
| version: latest | |
| - name: Verify Supabase CLI installation | |
| run: | | |
| supabase --version | |
| - name: Authenticate with Supabase | |
| run: | | |
| supabase login | |
| env: | |
| SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} | |
| - name: Link to Supabase project | |
| run: | | |
| supabase link --project-ref $SUPABASE_PROJECT_REF | |
| env: | |
| SUPABASE_PROJECT_REF: ${{ vars.SUPABASE_PROJECT_REF }} | |
| - name: Apply database migrations | |
| run: | | |
| echo "Applying database migrations..." | |
| supabase db push | |
| env: | |
| SUPABASE_PROJECT_REF: ${{ vars.SUPABASE_PROJECT_REF }} | |
| - name: Deploy IngrediCheck function | |
| run: | | |
| echo "Deploying ingredicheck function..." | |
| supabase functions deploy ingredicheck --project-ref $SUPABASE_PROJECT_REF | |
| env: | |
| SUPABASE_PROJECT_REF: ${{ vars.SUPABASE_PROJECT_REF }} | |
| - name: Deploy Background function | |
| run: | | |
| echo "Deploying background function..." | |
| supabase functions deploy background --project-ref $SUPABASE_PROJECT_REF | |
| env: | |
| SUPABASE_PROJECT_REF: ${{ vars.SUPABASE_PROJECT_REF }} | |
| - name: Verify deployments | |
| run: | | |
| echo "Verifying function deployments..." | |
| supabase functions list --project-ref $SUPABASE_PROJECT_REF | |
| env: | |
| SUPABASE_PROJECT_REF: ${{ vars.SUPABASE_PROJECT_REF }} | |
| - name: Deployment Summary | |
| run: | | |
| echo "✅ Successfully deployed edge functions:" | |
| echo " - ingredicheck" | |
| echo " - background" | |
| echo "" | |
| echo "Functions are now live and ready to receive requests." |