Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
d2b117e
Drop Python 3.9 support, add Python 3.14 and Django 6.0 support
vinitkumar Oct 24, 2025
a39b03b
Modernize type annotations for Python 3.10+
vinitkumar Oct 24, 2025
b72a02c
Remove unused typing imports after modernization
vinitkumar Oct 24, 2025
2a62681
Update AGENTS.md with new Python and Django version requirements
vinitkumar Oct 24, 2025
df87c88
Use uv for package management in CI workflows
vinitkumar Oct 24, 2025
83dbd5e
Update AGENTS.md to reflect usage of uv [skip ci]
vinitkumar Oct 24, 2025
763cb5c
Fix type hint for replace_admin_for_models pairs parameter
vinitkumar Oct 24, 2025
4dc8c2d
Fix line length in replace_admin_for_models signature
vinitkumar Oct 24, 2025
36bcde4
Fix test matrix: Django 6 now only runs with Python 3.12+
vinitkumar Oct 24, 2025
bbef0c5
Update Django requirement to >=6.0a1,<6.1
vinitkumar Oct 24, 2025
d44015b
Update Django requirement to >=6.0a1,<6.1
vinitkumar Oct 24, 2025
1fc04ac
fix: issues with matrix
vinitkumar Oct 25, 2025
649bd9f
Merge branch 'master' into feature/modernize-python-django-support
fsbraun Oct 25, 2025
5252aa0
fix: wrong Django version in pyproject.toml
vinitkumar Oct 25, 2025
a87f029
Merge remote-tracking branch 'origin/feature/modernize-python-django-…
vinitkumar Oct 25, 2025
a095f33
fix: mysqlclient errors with python 3.14
vinitkumar Oct 25, 2025
3860cd3
Merge branch 'master' into feature/modernize-python-django-support
fsbraun Oct 25, 2025
9a18381
replace: django-fsm with django-fsm-2 that comes with django 6.0 support
vinitkumar Nov 4, 2025
a6be073
Merge branch 'master' into feature/modernize-python-django-support
vinitkumar Nov 4, 2025
585abe8
fix: remove version constraints and also add a note in the readme
vinitkumar Nov 4, 2025
91d47c3
Merge remote-tracking branch 'origin/feature/modernize-python-django-…
vinitkumar Nov 4, 2025
2e7c355
fix: links
vinitkumar Nov 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ jobs:
steps:
- uses: actions/checkout@v5

- run: python -Im pip install --user ruff
- name: Install uv
uses: astral-sh/setup-uv@v5

- name: Install ruff
run: uv tool install ruff

- name: Run ruff
run: ruff check --output-format=github djangocms_versioning tests
run: uvx ruff check --output-format=github djangocms_versioning tests
138 changes: 97 additions & 41 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,40 +12,53 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ 3.9, "3.10", "3.11", "3.12" ]
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
requirements-file: [
dj42_cms41.txt,
dj50_cms41.txt,
dj51_cms41.txt,
dj52_cms41.txt,
dj52_cms50.txt,
dj60_cms50.txt,
]
exclude:
- requirements-file: dj52_cms41.txt
python-version: "3.10"
- requirements-file: dj52_cms50.txt
python-version: "3.10"
- requirements-file: dj60_cms50.txt
python-version: "3.10"
- requirements-file: dj60_cms50.txt
python-version: "3.11"
- requirements-file: dj42_cms41.txt
python-version: "3.14"
- requirements-file: dj50_cms41.txt
python-version: 3.9
python-version: "3.14"
- requirements-file: dj51_cms41.txt
python-version: 3.9
python-version: "3.14"
- requirements-file: dj52_cms41.txt
python-version: 3.9
- requirements-file: dj52_cms41.txt
python-version: 3.10
- requirements-file: dj52_cms50.txt
python-version: 3.9
python-version: "3.14"
- requirements-file: dj52_cms50.txt
python-version: 3.10
python-version: "3.14"

steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}

uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements/${{ matrix.requirements-file }}
pip install -e .
sudo apt install gettext gcc -y
sudo apt install gettext gcc -y
sudo apt install gettext gcc -y
python -m pip install --upgrade pip uv
python -m pip install --upgrade pip uv
python -m pip install --upgrade pip uv
uv pip install --system -r tests/requirements/${{ matrix.requirements-file }}
uv pip install --system -e .

- name: Run coverage
run: coverage run ./test_settings.py
Expand All @@ -58,12 +71,36 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.11", "3.12", "3.13" ]
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
requirements-file: [
dj42_cms41.txt,
dj50_cms41.txt,
dj51_cms41.txt,
dj52_cms41.txt,
dj52_cms50.txt,
]
dj60_cms50.txt,
]
exclude:
- requirements-file: dj52_cms41.txt
python-version: "3.10"
- requirements-file: dj52_cms50.txt
python-version: "3.10"
- requirements-file: dj60_cms50.txt
python-version: "3.10"
- requirements-file: dj60_cms50.txt
python-version: "3.11"
- requirements-file: dj42_cms41.txt
python-version: "3.14"
- requirements-file: dj50_cms41.txt
python-version: "3.14"
- requirements-file: dj51_cms41.txt
python-version: "3.14"
- requirements-file: dj52_cms41.txt
python-version: "3.14"
- requirements-file: dj52_cms50.txt
python-version: "3.14"
- requirements-file: dj60_cms50.txt
python-version: "3.14"

services:
postgres:
Expand All @@ -80,15 +117,15 @@ jobs:
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}

uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements/${{ matrix.requirements-file }}
python setup.py install
uv pip install --system -r tests/requirements/${{ matrix.requirements-file }}
uv pip install --system .

- name: Run coverage
run: coverage run ./test_settings.py
Expand All @@ -103,17 +140,36 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.11", "3.12", "3.13" ]
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
requirements-file: [
dj42_cms41.txt,
dj50_cms41.txt,
dj51_cms41.txt,
dj52_cms41.txt,
dj52_cms50.txt,
]
dj60_cms50.txt,
]
exclude:
- requirements-file: dj52_cms41.txt
python-version: "3.10"
- requirements-file: dj52_cms50.txt
python-version: "3.10"
- requirements-file: dj60_cms50.txt
python-version: "3.10"
- requirements-file: dj60_cms50.txt
python-version: "3.11"
- requirements-file: dj42_cms41.txt
python-version: "3.14"
- requirements-file: dj50_cms41.txt
python-version: 3.9
python-version: "3.14"
- requirements-file: dj51_cms41.txt
python-version: 3.9
python-version: "3.14"
- requirements-file: dj52_cms41.txt
python-version: "3.14"
- requirements-file: dj52_cms50.txt
python-version: "3.14"
- requirements-file: dj60_cms50.txt
python-version: "3.14"

services:
mysql:
Expand All @@ -128,15 +184,15 @@ jobs:
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}

uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements/${{ matrix.requirements-file }}
python setup.py install
uv pip install --system -r tests/requirements/${{ matrix.requirements-file }}
uv pip install --system .

- name: Run coverage
run: coverage run ./test_settings.py
Expand All @@ -163,17 +219,17 @@ jobs:
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}

uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r tests/requirements/${{ matrix.requirements-file }}
python -m pip uninstall -y django-cms
python -m pip install ${{ matrix.cms-version }}
python setup.py install
uv pip install --system -r tests/requirements/${{ matrix.requirements-file }}
uv pip uninstall --system django-cms
uv pip install --system ${{ matrix.cms-version }}
uv pip install --system .

- name: Run coverage
run: coverage run ./test_settings.py
Expand All @@ -186,29 +242,29 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.12" ]
python-version: [ "3.13" ]
cms-version: [
'https://github.com/django-cms/django-cms/archive/main.tar.gz'
]
django-version: [
'https://github.com/django/django/archive/main.tar.gz'
]
requirements-file: ['dj52_cms50.txt']
requirements-file: ['dj60_cms50.txt']

steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}

uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r tests/requirements/${{ matrix.requirements-file }}
python -m pip uninstall -y Django django-cms
python -m pip install ${{ matrix.cms-version }} ${{ matrix.django-version }}
python setup.py install
uv pip install --system -r tests/requirements/${{ matrix.requirements-file }}
uv pip uninstall --system Django django-cms
uv pip install --system ${{ matrix.cms-version }} ${{ matrix.django-version }}
uv pip install --system .

- name: Run coverage
run: coverage run ./test_settings.py
Expand Down
Loading
Loading