Skip to content

Commit e3935cf

Browse files
committed
feat(ci): add Python 3.13 and 3.14 support to CI jobs
- Add Python 3.13 and 3.14 to unit test matrix (Ubuntu + macOS) - Add Python 3.13 and 3.14 to e2e test matrix - Update macOS e2e tests to run only on Python 3.14 (latest stable) - Add Python 3.14 classifier to pyproject.toml - Update .mergify.yml with new CI job requirements Fixes: #891 Co-Authored-By: Claude <claude@anthropic.com> Signed-off-by: Ioannis Angelakopoulos <iangelak@redhat.com>
1 parent bf76ad9 commit e3935cf

File tree

3 files changed

+35
-6
lines changed

3 files changed

+35
-6
lines changed

.github/workflows/test.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ jobs:
1515
python-version:
1616
- "3.11"
1717
- "3.12"
18+
- "3.13"
19+
- "3.14"
1820
rust-version:
1921
# RHEL 9.4 has rustc 1.75
2022
- "1.75"
@@ -71,6 +73,8 @@ jobs:
7173
python-version:
7274
- "3.11"
7375
- "3.12"
76+
- "3.13"
77+
- "3.14"
7478
rust-version:
7579
# RHEL 9.4 has rustc 1.75
7680
- "1.75"
@@ -89,6 +93,10 @@ jobs:
8993
# only run macOS tests on latest stable Python version
9094
- os: macos-latest
9195
python-version: "3.11"
96+
- os: macos-latest
97+
python-version: "3.12"
98+
- os: macos-latest
99+
python-version: "3.13"
92100

93101
steps:
94102
- name: Get source

.mergify.yml

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,29 +33,49 @@ pull_request_rules:
3333
- check-success=unit (3.11, 1.75, macos-latest)
3434
- check-success=unit (3.12, 1.75, ubuntu-latest)
3535
- check-success=unit (3.12, 1.75, macos-latest)
36+
- check-success=unit (3.13, 1.75, ubuntu-latest)
37+
- check-success=unit (3.13, 1.75, macos-latest)
38+
- check-success=unit (3.14, 1.75, ubuntu-latest)
39+
- check-success=unit (3.14, 1.75, macos-latest)
3640

3741
# MyPy type checking
3842
- check-success=mypy
3943

4044
# E2E test suites (consolidated from individual tests)
45+
# Python 3.11 - Ubuntu only (macOS excluded)
4146
- check-success=e2e (3.11, 1.75, ci_bootstrap_parallel_suite, ubuntu-latest)
4247
- check-success=e2e (3.11, 1.75, ci_bootstrap_suite, ubuntu-latest)
4348
- check-success=e2e (3.11, 1.75, ci_build_suite, ubuntu-latest)
4449
- check-success=e2e (3.11, 1.75, ci_config_suite, ubuntu-latest)
4550
- check-success=e2e (3.11, 1.75, ci_specialized_suite, ubuntu-latest)
4651
- check-success=e2e (3.11, 1.75, ci_workflow_suite, ubuntu-latest)
47-
- check-success=e2e (3.12, 1.75, ci_bootstrap_parallel_suite, macos-latest)
52+
# Python 3.12 - Ubuntu only (macOS excluded)
4853
- check-success=e2e (3.12, 1.75, ci_bootstrap_parallel_suite, ubuntu-latest)
49-
- check-success=e2e (3.12, 1.75, ci_bootstrap_suite, macos-latest)
5054
- check-success=e2e (3.12, 1.75, ci_bootstrap_suite, ubuntu-latest)
51-
- check-success=e2e (3.12, 1.75, ci_build_suite, macos-latest)
5255
- check-success=e2e (3.12, 1.75, ci_build_suite, ubuntu-latest)
53-
- check-success=e2e (3.12, 1.75, ci_config_suite, macos-latest)
5456
- check-success=e2e (3.12, 1.75, ci_config_suite, ubuntu-latest)
55-
- check-success=e2e (3.12, 1.75, ci_specialized_suite, macos-latest)
5657
- check-success=e2e (3.12, 1.75, ci_specialized_suite, ubuntu-latest)
57-
- check-success=e2e (3.12, 1.75, ci_workflow_suite, macos-latest)
5858
- check-success=e2e (3.12, 1.75, ci_workflow_suite, ubuntu-latest)
59+
# Python 3.13 - Ubuntu only (macOS excluded)
60+
- check-success=e2e (3.13, 1.75, ci_bootstrap_parallel_suite, ubuntu-latest)
61+
- check-success=e2e (3.13, 1.75, ci_bootstrap_suite, ubuntu-latest)
62+
- check-success=e2e (3.13, 1.75, ci_build_suite, ubuntu-latest)
63+
- check-success=e2e (3.13, 1.75, ci_config_suite, ubuntu-latest)
64+
- check-success=e2e (3.13, 1.75, ci_specialized_suite, ubuntu-latest)
65+
- check-success=e2e (3.13, 1.75, ci_workflow_suite, ubuntu-latest)
66+
# Python 3.14 - Ubuntu + macOS (latest stable)
67+
- check-success=e2e (3.14, 1.75, ci_bootstrap_parallel_suite, ubuntu-latest)
68+
- check-success=e2e (3.14, 1.75, ci_bootstrap_parallel_suite, macos-latest)
69+
- check-success=e2e (3.14, 1.75, ci_bootstrap_suite, ubuntu-latest)
70+
- check-success=e2e (3.14, 1.75, ci_bootstrap_suite, macos-latest)
71+
- check-success=e2e (3.14, 1.75, ci_build_suite, ubuntu-latest)
72+
- check-success=e2e (3.14, 1.75, ci_build_suite, macos-latest)
73+
- check-success=e2e (3.14, 1.75, ci_config_suite, ubuntu-latest)
74+
- check-success=e2e (3.14, 1.75, ci_config_suite, macos-latest)
75+
- check-success=e2e (3.14, 1.75, ci_specialized_suite, ubuntu-latest)
76+
- check-success=e2e (3.14, 1.75, ci_specialized_suite, macos-latest)
77+
- check-success=e2e (3.14, 1.75, ci_workflow_suite, ubuntu-latest)
78+
- check-success=e2e (3.14, 1.75, ci_workflow_suite, macos-latest)
5979

6080
# At least 1 reviewer from maintainers
6181
- and:

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ classifiers = [
2424
"Programming Language :: Python :: 3.11",
2525
"Programming Language :: Python :: 3.12",
2626
"Programming Language :: Python :: 3.13",
27+
"Programming Language :: Python :: 3.14",
2728
"Programming Language :: Python :: Implementation :: CPython",
2829
"Topic :: Utilities",
2930
]

0 commit comments

Comments
 (0)