name: Supa-backup on: pull_request: branches: [ main ] workflow_dispatch: schedule: - cron: '0 0 * * *' # Runs every day at midnight jobs: run_db_backup: runs-on: ubuntu-latest permissions: contents: write env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_DESARROLLO_ACCESS_TOKEN }} SUPABASE_PROJECT_ID: ${{ secrets.SUPABASE_DESARROLLO_PROJECT_ID }} steps: - uses: actions/checkout@v4 with: # Si es un PR, usa la rama origen. Si no, usa la rama que disparó el evento (main). ref: ${{ github.head_ref || github.ref }} - uses: supabase/setup-cli@v1 with: version: latest - name: Link Project run: supabase link --project-ref $SUPABASE_PROJECT_ID - name: Backup roles run: supabase db dump -f supabase/roles.sql --role-only - name: Backup schema run: supabase db dump -f supabase/schema.sql - name: Backup data run: supabase db dump -f supabase/data.sql --data-only --use-copy - uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: Supabase backup