diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2af670cbe5..9f6ade00a2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -85,7 +85,7 @@ jobs: strategy: fail-fast: false matrix: - database: [mongoose, postgres] + database: [mongoose, postgres, supabase] env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres @@ -118,7 +118,22 @@ jobs: postgresql password: ${{ env.POSTGRES_PASSWORD }} if: matrix.database == 'postgres' - - run: sleep 30 + - name: Install Supabase CLI + uses: supabase/setup-cli@v1 + with: + version: latest + if: matrix.database == 'supabase' + + - name: Initialize Supabase + run: | + supabase init + supabase start + if: matrix.database == 'supabase' + + - name: Wait for PostgreSQL + run: sleep 30 + if: matrix.database == 'postgres' + - name: Configure PostgreSQL run: | psql "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "CREATE ROLE runner SUPERUSER LOGIN;" @@ -126,6 +141,11 @@ jobs: echo "POSTGRES_URL=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" >> $GITHUB_ENV if: matrix.database == 'postgres' + - name: Configure Supabase + run: | + echo "POSTGRES_URL=postgresql://postgres:postgres@127.0.0.1:54322/postgres" >> $GITHUB_ENV + if: matrix.database == 'supabase' + - name: Component Tests run: pnpm test:components diff --git a/test/buildConfigWithDefaults.ts b/test/buildConfigWithDefaults.ts index 73d3b453ee..355460e517 100644 --- a/test/buildConfigWithDefaults.ts +++ b/test/buildConfigWithDefaults.ts @@ -35,6 +35,13 @@ const databaseAdapters = { connectionString: process.env.POSTGRES_URL || 'postgres://127.0.0.1:5432/payloadtests', }, }), + supabase: postgresAdapter({ + migrationDir, + pool: { + connectionString: + process.env.POSTGRES_URL || 'postgresql://postgres:postgres@127.0.0.1:54322/postgres', + }, + }), } export function buildConfigWithDefaults(testConfig?: Partial): Promise { diff --git a/test/fields/int.spec.ts b/test/fields/int.spec.ts index 26f55ae49b..0f674050fe 100644 --- a/test/fields/int.spec.ts +++ b/test/fields/int.spec.ts @@ -418,7 +418,7 @@ describe('Fields', () => { }) }) - if (isMongoose(payload) || !['postgres'].includes(process.env.PAYLOAD_DATABASE)) { + if (isMongoose(payload)) { describe('indexes', () => { let indexes const definitions: Record = {}