Skip to content

Commit c90f4dc

Browse files
authored
feat: add Python 3.14 CI testing and MyPyC wheel builds (#331)
Enable 3.14 tests and mypyc builds.
1 parent e14094e commit c90f4dc

File tree

5 files changed

+33
-10
lines changed

5 files changed

+33
-10
lines changed

.github/workflows/ci.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ jobs:
9090
strategy:
9191
fail-fast: true
9292
matrix:
93-
python-version: ["3.10", "3.11", "3.12", "3.13"]
93+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
9494
timeout-minutes: 30
9595
steps:
9696
- name: Check out repository
@@ -111,6 +111,18 @@ jobs:
111111
PYTEST_ADDOPTS: "--max-worker-restart=0 -s"
112112
run: timeout 900s uv run pytest -n 2 --dist=loadgroup
113113

114+
# test-linux-freethreaded:
115+
# # Disabled: cp314t ecosystem not mature enough yet (missing binary wheels, long build times)
116+
# runs-on: ubuntu-latest
117+
# continue-on-error: true
118+
# timeout-minutes: 30
119+
# steps:
120+
# - uses: actions/checkout@v4
121+
# - uses: astral-sh/setup-uv@v3
122+
# - run: uv python install 3.14t
123+
# - run: uv sync --extra aiosqlite --extra duckdb --dev
124+
# - run: uv run pytest tests/unit -n 2 --dist=loadgroup
125+
114126
# test-windows:
115127
# runs-on: windows-latest
116128
# strategy:

.github/workflows/publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
runs-on: ubuntu-latest
6262
strategy:
6363
matrix:
64-
python-version: [ "3.10", "3.11", "3.12", "3.13"]
64+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
6565
steps:
6666
- name: Check out repository
6767
uses: actions/checkout@v4
@@ -89,7 +89,7 @@ jobs:
8989
MYPYC_MULTI_FILE: "1"
9090

9191
# Configure cibuildwheel
92-
CIBW_BUILD: "cp${{ matrix.python-version == '3.10' && '310' || matrix.python-version == '3.11' && '311' || matrix.python-version == '3.12' && '312' || matrix.python-version == '3.13' && '313' }}-*"
92+
CIBW_BUILD: "cp${{ matrix.python-version == '3.10' && '310' || matrix.python-version == '3.11' && '311' || matrix.python-version == '3.12' && '312' || matrix.python-version == '3.13' && '313' || matrix.python-version == '3.14' && '314' }}-*"
9393
CIBW_BUILD_VERBOSITY: 1
9494

9595
# Platform configuration - comprehensive coverage with QEMU emulation
@@ -122,7 +122,7 @@ jobs:
122122
fail-fast: false
123123
matrix:
124124
os: [ubuntu-latest, windows-latest, macos-latest]
125-
python-version: ["3.10", "3.12"]
125+
python-version: ["3.10", "3.12", "3.14"]
126126

127127
runs-on: ${{ matrix.os }}
128128
steps:

.github/workflows/test-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
runs-on: ubuntu-latest
7373
strategy:
7474
matrix:
75-
python-version: ${{ github.event.inputs.test_matrix == 'full' && fromJSON('["3.10", "3.11", "3.12", "3.13"]') || fromJSON('["3.12"]') }}
75+
python-version: ${{ github.event.inputs.test_matrix == 'full' && fromJSON('["3.10", "3.11", "3.12", "3.13", "3.14"]') || fromJSON('["3.12"]') }}
7676
steps:
7777
- name: Check out repository
7878
uses: actions/checkout@v4
@@ -101,7 +101,7 @@ jobs:
101101
MYPYC_MULTI_FILE: "1"
102102

103103
# Configure cibuildwheel
104-
CIBW_BUILD: "cp${{ matrix.python-version == '3.10' && '310' || matrix.python-version == '3.11' && '311' || matrix.python-version == '3.12' && '312' || matrix.python-version == '3.13' && '313' }}-*"
104+
CIBW_BUILD: "cp${{ matrix.python-version == '3.10' && '310' || matrix.python-version == '3.11' && '311' || matrix.python-version == '3.12' && '312' || matrix.python-version == '3.13' && '313' || matrix.python-version == '3.14' && '314' }}-*"
105105
CIBW_BUILD_VERBOSITY: 1
106106

107107
# Platform configuration - conditional ARM64 support with QEMU
@@ -134,7 +134,7 @@ jobs:
134134
fail-fast: false
135135
matrix:
136136
os: ${{ github.event.inputs.test_matrix == 'full' && fromJSON('["ubuntu-latest", "windows-latest", "macos-latest"]') || fromJSON('["ubuntu-latest"]') }}
137-
python-version: ${{ github.event.inputs.test_matrix == 'full' && fromJSON('["3.10", "3.12"]') || fromJSON('["3.12"]') }}
137+
python-version: ${{ github.event.inputs.test_matrix == 'full' && fromJSON('["3.10", "3.12", "3.14"]') || fromJSON('["3.12"]') }}
138138

139139
runs-on: ${{ matrix.os }}
140140
steps:

pyproject.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,17 @@ name = "sqlspec"
1414
readme = "README.md"
1515
requires-python = ">=3.10, <4.0"
1616
version = "0.38.0"
17+
classifiers = [
18+
"Development Status :: 5 - Production/Stable",
19+
"Programming Language :: Python :: 3",
20+
"Programming Language :: Python :: 3.10",
21+
"Programming Language :: Python :: 3.11",
22+
"Programming Language :: Python :: 3.12",
23+
"Programming Language :: Python :: 3.13",
24+
"Programming Language :: Python :: 3.14",
25+
"Programming Language :: Python :: 3 :: Only",
26+
"Typing :: Typed",
27+
]
1728

1829
[project.urls]
1930
Discord = "https://discord.gg/litestar"

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)