Skip to content

Deploy Supabase Edge Functions to PROD #122

Deploy Supabase Edge Functions to PROD

Deploy Supabase Edge Functions to PROD #122

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."