Skip to content

Commit 2c91896

Browse files
Run trial tests on Python 3.14 in PRs (#19135)
1 parent 9c67666 commit 2c91896

File tree

2 files changed

+25
-15
lines changed

2 files changed

+25
-15
lines changed

.ci/scripts/calculate_jobs.py

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,46 +35,55 @@ def set_output(key: str, value: str):
3535

3636
# First calculate the various trial jobs.
3737
#
38-
# For PRs, we only run each type of test with the oldest Python version supported (which
39-
# is Python 3.10 right now)
38+
# For PRs, we only run each type of test with the oldest and newest Python
39+
# version that's supported. The oldest version ensures we don't accidentally
40+
# introduce syntax or code that's too new, and the newest ensures we don't use
41+
# code that's been dropped in the latest supported Python version.
4042

4143
trial_sqlite_tests = [
4244
{
4345
"python-version": "3.10",
4446
"database": "sqlite",
4547
"extras": "all",
46-
}
48+
},
49+
{
50+
"python-version": "3.14",
51+
"database": "sqlite",
52+
"extras": "all",
53+
},
4754
]
4855

4956
if not IS_PR:
57+
# Otherwise, check all supported Python versions.
58+
#
59+
# Avoiding running all of these versions on every PR saves on CI time.
5060
trial_sqlite_tests.extend(
5161
{
5262
"python-version": version,
5363
"database": "sqlite",
5464
"extras": "all",
5565
}
56-
for version in ("3.11", "3.12", "3.13", "3.14")
66+
for version in ("3.11", "3.12", "3.13")
5767
)
5868

69+
# Only test postgres against the earliest and latest Python versions that we
70+
# support in order to save on CI time.
5971
trial_postgres_tests = [
6072
{
6173
"python-version": "3.10",
6274
"database": "postgres",
6375
"postgres-version": "13",
6476
"extras": "all",
65-
}
77+
},
78+
{
79+
"python-version": "3.14",
80+
"database": "postgres",
81+
"postgres-version": "17",
82+
"extras": "all",
83+
},
6684
]
6785

68-
if not IS_PR:
69-
trial_postgres_tests.append(
70-
{
71-
"python-version": "3.14",
72-
"database": "postgres",
73-
"postgres-version": "17",
74-
"extras": "all",
75-
}
76-
)
77-
86+
# Ensure that Synapse passes unit tests even with no extra dependencies installed.
7887
trial_no_extra_tests = [
7988
{
8089
"python-version": "3.10",

changelog.d/19135.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Run trial tests on Python 3.14 for PRs.

0 commit comments

Comments
 (0)