Skip to content

Commit 2b2bfac

Browse files
committed
Add Python 3.14 to CI workflow matrix
Python v3.14 -- October 7th * https://www.python.org/download/pre-releases * https://www.python.org/downloads/release/python-3140rc3 * https://docs.python.org/3.14/whatsnew/3.14.html * https://code.djangoproject.com/ticket/35844 > Django 5.2 will be the first version to support Python 3.14
1 parent c4a2135 commit 2b2bfac

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

.github/workflows/ci.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
timeout-minutes: 60
99
name: Update docker cache
1010
steps:
11-
- uses: actions/checkout@v4
11+
- uses: actions/checkout@v5
1212
- name: Cache docker images
1313
id: custom-cache
1414
uses: actions/cache@v4
@@ -36,6 +36,8 @@ jobs:
3636
- '3.11'
3737
- '3.12'
3838
- '3.13'
39+
- '3.14'
40+
- '3.14t'
3941
django-version:
4042
- 'django==4.2'
4143
- 'django==5.0'
@@ -46,16 +48,20 @@ jobs:
4648
- python-version: '3.13'
4749
django-version: "git+https://github.com/django/django.git@main#egg=Django"
4850
experimental: true
51+
- python-version: '3.14'
52+
django-version: "git+https://github.com/django/django.git@main#egg=Django"
53+
experimental: true
4954

5055
env:
5156
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
5257
steps:
53-
- uses: actions/checkout@v4
58+
- uses: actions/checkout@v5
5459

5560
- name: Set up Python ${{ matrix.python-version }}
5661
uses: actions/setup-python@v5
5762
with:
5863
python-version: ${{ matrix.python-version }}
64+
allow-prereleases: true
5965

6066
- name: Cache docker images
6167
id: custom-cache
@@ -69,7 +75,7 @@ jobs:
6975
run: docker image load -i ./custom-cache/all.tar
7076

7177
- name: Install uv
72-
uses: astral-sh/setup-uv@v5
78+
uses: astral-sh/setup-uv@v7
7379
with:
7480
enable-cache: true
7581

@@ -92,7 +98,6 @@ jobs:
9298
uv run pytest tests/*.py --ds=tests.settings.sqlite -x
9399
uv run pytest tests/*.py --ds=tests.settings.sqlite_herd -x
94100
uv run pytest tests/*.py --ds=tests.settings.sqlite_json -x
95-
uv run pytest tests/*.py --ds=tests.settings.sqlite_lz4 -x
96101
uv run pytest tests/*.py --ds=tests.settings.sqlite_msgpack -x
97102
uv run pytest tests/*.py --ds=tests.settings.sqlite_sentinel -x
98103
uv run pytest tests/*.py --ds=tests.settings.sqlite_sentinel_opts -x

django_valkey/compressors/lz4.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
from lz4.frame import compress
2-
from lz4.frame import decompress
1+
import sys
2+
3+
try:
4+
from lz4.frame import compress
5+
from lz4.frame import decompress
6+
except ImportError: # python-lz4/python-lz4#302
7+
if sys.version_info >= (3, 14):
8+
compress = decompress = None
9+
else:
10+
raise
311

412
from django.conf import settings
513

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ classifiers = [
2727
"Programming Language :: Python :: 3.11",
2828
"Programming Language :: Python :: 3.12",
2929
"Programming Language :: Python :: 3.13",
30+
"Programming Language :: Python :: 3.14",
31+
"Programming Language :: Python :: Free Threading",
3032
"Framework :: Django :: 5.0",
3133
"Framework :: Django :: 5.1",
3234
"Framework :: Django :: 5.2",

0 commit comments

Comments
 (0)