name: E2E on: pull_request: types: - opened - synchronize - reopened - ready_for_review - converted_to_draft push: branches: - main tags: - "v[0-9]+.[0-9]+.[0-9]+" schedule: # * is a special character in YAML so you have to quote this string - cron: "30 1,9 * * *" workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true defaults: run: shell: bash permissions: contents: read jobs: e2e: # make sure the action works on a clean machine without building if: ${{ github.event_name != 'pull_request' || !github.event.pull_request.draft }} runs-on: ubuntu-latest timeout-minutes: 45 strategy: fail-fast: false matrix: version: - 1.178.2 - 2.33.0 - latest pg_major: - 14 - 15 - 17 exclude: - version: 1.178.2 pg_major: 17 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - uses: ./ with: version: ${{ matrix.version }} - run: supabase init - run: | sed -i -E "s|^(major_version) .*|\\1 = ${{ matrix.pg_major }}|" supabase/config.toml - run: supabase start e2e-check: if: ${{ always() && github.event_name == 'pull_request' }} name: E2E runs-on: ubuntu-latest needs: [e2e] timeout-minutes: 5 steps: - run: | e2e_result="${{ needs.e2e.result }}" [[ "$e2e_result" == "success" || "$e2e_result" == "skipped" ]]