diff --git a/.ci/scripts/calculate_jobs.py b/.ci/scripts/calculate_jobs.py
index ab1d214727..dfa32a5445 100755
--- a/.ci/scripts/calculate_jobs.py
+++ b/.ci/scripts/calculate_jobs.py
@@ -50,23 +50,38 @@ if not IS_PR:
for version in ("3.9", "3.10", "3.11", "3.12")
)
+# Run with both psycopg2 and psycopg.
trial_postgres_tests = [
{
"python-version": "3.8",
"database": "postgres",
"postgres-version": "11",
"extras": "all",
- }
+ },
+ {
+ "python-version": "3.8",
+ "database": "psycopg",
+ "postgres-version": "11",
+ "extras": "all",
+ },
]
if not IS_PR:
- trial_postgres_tests.append(
- {
- "python-version": "3.12",
- "database": "postgres",
- "postgres-version": "16",
- "extras": "all",
- }
+ trial_postgres_tests.extend(
+ [
+ {
+ "python-version": "3.12",
+ "database": "postgres",
+ "postgres-version": "16",
+ "extras": "all",
+ },
+ {
+ "python-version": "3.12",
+ "database": "psycopg",
+ "postgres-version": "16",
+ "extras": "all",
+ },
+ ]
)
trial_no_extra_tests = [
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index a1f714da23..af32cb604e 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -346,7 +346,9 @@ jobs:
run: until pg_isready -h localhost; do sleep 1; done
- run: poetry run trial --jobs=6 tests
env:
- SYNAPSE_POSTGRES: ${{ matrix.job.database == 'postgres' || '' }}
+ # If matrix.job.database is 'psycopg' set SYNAPSE_POSTGRES to that string;
+ # otherwise if it is 'postgres' set it to true. Otherwise, empty.
+ SYNAPSE_POSTGRES: ${{ matrix.job.database == 'psycopg' && 'psycopg' || matrix.job.database == 'postgres' || '' }}
SYNAPSE_POSTGRES_HOST: /var/run/postgresql
SYNAPSE_POSTGRES_USER: postgres
SYNAPSE_POSTGRES_PASSWORD: postgres
|