diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 11cb093..7ed28ad 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,13 +9,18 @@ jobs: fail-fast: false max-parallel: 5 matrix: - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10'] + python-version: + - '3.8' + - '3.9' + - '3.10' + - '3.11' + - '3.12' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} @@ -23,21 +28,25 @@ jobs: id: pip-cache run: | echo "::set-output name=dir::$(pip cache dir)" + - name: Cache - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ matrix.python-version }}-v1-${{ hashFiles('**/setup.py') }}-${{ hashFiles('**/tox.ini') }} restore-keys: | ${{ matrix.python-version }}-v1- + - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install --upgrade tox tox-gh-actions + - name: Tox tests run: | tox -v + - name: Coveralls uses: AndreMiras/coveralls-python-action@develop with: @@ -52,4 +61,3 @@ jobs: uses: AndreMiras/coveralls-python-action@develop with: parallel-finished: true - diff --git a/setup.py b/setup.py index 24e29d7..7849c8b 100644 --- a/setup.py +++ b/setup.py @@ -22,15 +22,19 @@ 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.0', 'Framework :: Django :: 4.1', + 'Framework :: Django :: 4.2', + 'Framework :: Django :: 5.0', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3 :: Only', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Topic :: Software Development :: Libraries :: Application Frameworks', 'Topic :: Software Development :: Libraries :: Python Modules', ], diff --git a/tests/models.py b/tests/models.py index eca1dbf..d5b83bf 100644 --- a/tests/models.py +++ b/tests/models.py @@ -1,6 +1,7 @@ from datetime import date from django.db import models + from picklefield import PickledObjectField S1 = 'Hello World' diff --git a/tests/tests.py b/tests/tests.py index 88be048..f10b3f2 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -6,6 +6,7 @@ from django.db import IntegrityError, models from django.test import SimpleTestCase, TestCase from django.test.utils import isolate_apps + from picklefield.fields import ( PickledObjectField, dbsafe_encode, wrap_conflictual_object, ) diff --git a/tox.ini b/tox.ini index acc927a..48f89ff 100644 --- a/tox.ini +++ b/tox.ini @@ -2,50 +2,46 @@ skipsdist = true args_are_paths = false envlist = - flake8, - isort, - py36-3.2, - py37-3.2, - py38-{3.2,4.0,4.1,main}, - py39-{3.2,4.0,4.1,main}, - py310-{3.2,4.0,4.1,main}, + flake8 + isort + py38-django{32,40,41,42} + py39-django{32,40,41,42} + py310-django{32,40,41,42,50,main} + py311-django{41,42,50,main} + py312-django{42,50,main} [gh-actions] python = - 3.6: py36, flake8, isort - 3.7: py37 3.8: py38 3.9: py39 3.10: py310 + 3.11: py311 + 3.12: py312, flake8, isort [testenv] -basepython = - py36: python3.6 - py37: python3.7 - py38: python3.8 - py39: python3.9 - py310: python3.10 usedevelop = true commands = - {envpython} -R -Wonce {envbindir}/coverage run -a -m django test -v2 --settings=tests.settings {posargs} + {envpython} -R -Werror {envbindir}/coverage run -a -m django test -v2 --settings=tests.settings {posargs} coverage report -m deps = coverage - 3.2: Django>=3.0,<3.1 - 4.0: Django>=4.0,<4.1 - 4.1: Django>=4.1b1,<4.2 - main: https://github.com/django/django/archive/main.tar.gz + django32: Django>=3.2,<4.0 + django40: Django>=4.0,<4.1 + django41: Django>=4.1,<4.2 + django42: Django>=4.2,<5.0 + django50: Django>=5.0,<5.1 + djangomain: https://github.com/django/django/archive/main.tar.gz passenv = GITHUB_* [testenv:flake8] usedevelop = false -basepython = python3.6 +basepython = python3.12 commands = flake8 deps = flake8 [testenv:isort] usedevelop = false -basepython = python3.6 +basepython = python3.12 commands = isort --recursive --check-only --diff picklefield tests -deps = isort==4.2.5 +deps = isort==5.13.2