|
32 | 32 | ISORT_VERSION = "isort==5.11.0" |
33 | 33 | LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] |
34 | 34 |
|
35 | | -DEFAULT_PYTHON_VERSION = "3.8" |
36 | | - |
37 | | -UNIT_TEST_PYTHON_VERSIONS: List[str] = ["3.8", "3.9", "3.10", "3.11", "3.12"] |
| 35 | +DEFAULT_PYTHON_VERSION = "3.13" |
| 36 | + |
| 37 | +UNIT_TEST_PYTHON_VERSIONS: List[str] = [ |
| 38 | + "3.8", |
| 39 | + "3.9", |
| 40 | + "3.10", |
| 41 | + "3.11", |
| 42 | + "3.12", |
| 43 | + "3.13", |
| 44 | + "3.14", |
| 45 | +] |
38 | 46 | UNIT_TEST_STANDARD_DEPENDENCIES = [ |
39 | 47 | "mock", |
40 | 48 | "asyncmock", |
|
48 | 56 | UNIT_TEST_EXTRAS: List[str] = [] |
49 | 57 | UNIT_TEST_EXTRAS_BY_PYTHON: Dict[str, List[str]] = {} |
50 | 58 |
|
51 | | -SYSTEM_TEST_PYTHON_VERSIONS: List[str] = ["3.8", "3.9", "3.10", "3.11", "3.12"] |
| 59 | +SYSTEM_TEST_PYTHON_VERSIONS: List[str] = ["3.9", "3.14"] |
52 | 60 | SYSTEM_TEST_STANDARD_DEPENDENCIES: List[str] = [ |
53 | 61 | "mock", |
54 | 62 | "pytest", |
|
63 | 71 | CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() |
64 | 72 |
|
65 | 73 | nox.options.sessions = [ |
66 | | - "unit", |
| 74 | + "unit-3.9", |
| 75 | + "unit-3.10", |
| 76 | + "unit-3.11", |
| 77 | + "unit-3.12", |
| 78 | + "unit-3.13", |
| 79 | + "unit-3.14", |
67 | 80 | "system", |
68 | 81 | "cover", |
69 | 82 | "lint", |
@@ -127,7 +140,7 @@ def format(session): |
127 | 140 | @nox.session(python=DEFAULT_PYTHON_VERSION) |
128 | 141 | def lint_setup_py(session): |
129 | 142 | """Verify that setup.py is valid (including RST check).""" |
130 | | - session.install("docutils", "pygments") |
| 143 | + session.install("docutils", "pygments", "setuptools") |
131 | 144 | session.run("python", "setup.py", "check", "--restructuredtext", "--strict") |
132 | 145 |
|
133 | 146 |
|
@@ -167,7 +180,12 @@ def install_unittest_dependencies(session, *constraints): |
167 | 180 | def unit(session, protobuf_implementation): |
168 | 181 | # Install all test dependencies, then install this package in-place. |
169 | 182 |
|
170 | | - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): |
| 183 | + if protobuf_implementation == "cpp" and session.python in ( |
| 184 | + "3.11", |
| 185 | + "3.12", |
| 186 | + "3.13", |
| 187 | + "3.14", |
| 188 | + ): |
171 | 189 | session.skip("cpp implementation is not supported in python 3.11+") |
172 | 190 |
|
173 | 191 | constraints_path = str( |
@@ -367,15 +385,20 @@ def docfx(session): |
367 | 385 | ) |
368 | 386 |
|
369 | 387 |
|
370 | | -@nox.session(python="3.12") |
| 388 | +@nox.session(python="3.14") |
371 | 389 | @nox.parametrize( |
372 | 390 | "protobuf_implementation", |
373 | 391 | ["python", "upb", "cpp"], |
374 | 392 | ) |
375 | 393 | def prerelease_deps(session, protobuf_implementation): |
376 | 394 | """Run all tests with prerelease versions of dependencies installed.""" |
377 | 395 |
|
378 | | - if protobuf_implementation == "cpp" and session.python in ("3.11", "3.12", "3.13"): |
| 396 | + if protobuf_implementation == "cpp" and session.python in ( |
| 397 | + "3.11", |
| 398 | + "3.12", |
| 399 | + "3.13", |
| 400 | + "3.14", |
| 401 | + ): |
379 | 402 | session.skip("cpp implementation is not supported in python 3.11+") |
380 | 403 |
|
381 | 404 | # Install all dependencies |
|
0 commit comments