agentops/app/.github/workflows/supabase-migrations.yml

90 lines
2.6 KiB
YAML

name: Supabase Migrations
on:
push:
branches:
- main
- dev
paths:
- 'supabase/migrations/**'
workflow_dispatch:
jobs:
migrate-production:
name: Run Migrations on Production
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install Supabase CLI
run: |
cd /tmp
curl -sL https://github.com/supabase/cli/releases/latest/download/supabase_linux_amd64.tar.gz | tar -xz
sudo mv supabase /usr/local/bin/
cd -
- name: Link to Supabase project
run: |
cd supabase
supabase link --project-ref ${{ secrets.SUPABASE_PROJECT_ID }} --debug
env:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
- name: Run migrations
run: |
cd supabase
supabase db push
env:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
SUPABASE_SERVICE_ROLE_KEY: ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }}
SUPABASE_PROJECT_ID: ${{ secrets.SUPABASE_PROJECT_ID }}
migrate-development:
name: Run Migrations on Development
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/dev'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install Supabase CLI
run: |
cd /tmp
curl -sL https://github.com/supabase/cli/releases/latest/download/supabase_linux_amd64.tar.gz | tar -xz
sudo mv supabase /usr/local/bin/
cd -
- name: Link to Supabase project
run: |
cd supabase
supabase link --project-ref ${{ secrets.__DEV__SUPABASE_PROJECT_ID }} --debug
env:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
- name: Run migrations
run: |
cd supabase
supabase db push
env:
SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }}
SUPABASE_URL: ${{ secrets.__DEV__SUPABASE_URL }}
SUPABASE_ANON_KEY: ${{ secrets.__DEV__SUPABASE_ANON_KEY }}
SUPABASE_SERVICE_ROLE_KEY: ${{ secrets.__DEV__SUPABASE_SERVICE_ROLE_KEY }}
SUPABASE_PROJECT_ID: ${{ secrets.__DEV__SUPABASE_PROJECT_ID }}