From 295245adab455c3f346e712ae1f54a657eea2d90 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 18 Jun 2022 11:43:27 -0400 Subject: [PATCH 1/5] Adjust Tox configuration to run against Django 3.2+. --- .coveragerc | 8 -------- README.rst | 4 ++-- tox.ini | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 20 deletions(-) delete mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 9d0ba33..0000000 --- a/.coveragerc +++ /dev/null @@ -1,8 +0,0 @@ -[run] -source = picklefield -branch = True - -[report] -exclude_lines = - pragma: no cover - except ImportError: diff --git a/README.rst b/README.rst index 684da1a..3173b77 100644 --- a/README.rst +++ b/README.rst @@ -9,8 +9,8 @@ django-picklefield :target: https://pypi.python.org/pypi/django-picklefield/ :alt: Latest Version -.. image:: https://travis-ci.org/gintas/django-picklefield.svg?branch=master - :target: https://travis-ci.org/gintas/django-picklefield +.. image:: https://github.com/gintas/django-picklefield/workflows/Test/badge.svg?branch=master + :target: https://github.com/gintas/django-picklefield/actions :alt: Build Status .. image:: https://coveralls.io/repos/gintas/django-picklefield/badge.svg?branch=master diff --git a/tox.ini b/tox.ini index 825542d..1a97361 100644 --- a/tox.ini +++ b/tox.ini @@ -4,32 +4,32 @@ args_are_paths = false envlist = flake8, isort, - py35-2.2, - py36-{2.2,3.0,master}, - py37-{2.2,3.0,master}, - py38-{2.2,3.0,master}, + py36-3.2, + py37-3.2, + py38-{3.2,4.0,main}, + py39-{3.2,4.0,main}, [tox:travis] -3.5 = py35 3.6 = py36 3.7 = py37 3.8 = py38 +3.9 = py39 [testenv] basepython = - py35: python3.5 py36: python3.6 py37: python3.7 py38: python3.8 + py39: python3.9 usedevelop = true commands = - {envpython} -R -Wonce {envbindir}/coverage run --branch -m django test -v2 --settings=tests.settings {posargs} + {envpython} -R -Wonce {envbindir}/coverage run -a -m django test -v2 --settings=tests.settings {posargs} coverage report -m deps = coverage - 2.2: Django>=2.2,<3.0 - 3.0: Django>=3.0,<3.1 - master: https://github.com/django/django/archive/master.tar.gz + 3.2: Django>=3.0,<3.1 + 4.0: Django>=4.0,<4.1 + main: https://github.com/django/django/archive/main.tar.gz [testenv:flake8] usedevelop = false From bf7e4dad4f43daf437c6ec1ad514636272e0dc7c Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 18 Jun 2022 11:44:17 -0400 Subject: [PATCH 2/5] Move away from TravisCI to Github actions. --- .github/workflows/test.yml | 55 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 39 --------------------------- setup.cfg | 10 +++++++ tox.ini | 13 +++++---- 4 files changed, 73 insertions(+), 44 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..ebc61a0 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,55 @@ +name: Test + +on: [push, pull_request] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + max-parallel: 5 + matrix: + python-version: ['3.6', '3.7', '3.8', '3.9'] + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Get pip cache dir + id: pip-cache + run: | + echo "::set-output name=dir::$(pip cache dir)" + - name: Cache + uses: actions/cache@v2 + 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: + parallel: true + flag-name: Unit Test + + coveralls_finish: + needs: test + runs-on: ubuntu-latest + steps: + - name: Coveralls Finished + uses: AndreMiras/coveralls-python-action@develop + with: + parallel-finished: true + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index cf0b2b5..0000000 --- a/.travis.yml +++ /dev/null @@ -1,39 +0,0 @@ -dist: bionic -sudo: false -language: python -cache: pip -python: - - 3.5 - - 3.6 - - 3.7 - - 3.8 -stages: - - lint - - test -arch: - - amd64 - - ppc64le -jobs: - fast_finish: true - include: - - { stage: lint, env: TOXENV=flake8, python: 3.6 } - - { stage: lint, env: TOXENV=isort, python: 3.6 } - - { stage: lint, env: TOXENV=flake8, python: 3.6, arch: ppc64le } - - { stage: lint, env: TOXENV=isort, python: 3.6, arch: ppc64le } - -install: -- pip install tox coveralls tox-travis -script: -- tox -after_success: -- if [ -f .coverage ]; then coveralls; fi -before_deploy: "pip install django" -deploy: - provider: pypi - user: charettes - password: - secure: Ix/iLGKu+usjaNGPIKRzvgdZz8TVxReiMFLorgMpHb9P29tgIBQSDzVmo8gzUi+LF4SQs2AdnuYJY15ap68JX7iLfCuWWYIvIqgMLb3W64jfUDg9KpLJQYCv6cTKQHoDVtVTg0jXJmauEYMMYuqmdrSgZ6rSfpsbajMrveCzVuStb7kd5H4WPX3/j4JfCmr07CyAi85rLAnaIfmCYADWC4nrYll7+0Ugke64C4KstY0l6HYBNTT5ZwJvXSNd0VQd31b5okv8bwjGXzeVrbgIAe+c1p0lS11hsNqfLL/rrnlvgC7P7568TxGwWVmIDJm131r1K7skLscEfCuPbJJ3oqljxLQMQIJ4JbR12HtRwB93dOnJOgCbqySAJAZHUvkm2r3VAO8BJK3xYnJg/2IGrxolDQxwJi2SMEgwqQZx3thTFKXvviiWn5dnLjiNRpSOHUzayCVYga7WAgVksKVMbmtcNrJWwrAHtWLxo9vnM2W+6JNFeXiGIIwGu7qJ/Sz/qCuv/uKibbFqhUJfATXf5HhSJ3yIM/Ef04/SSpBqkYcFcrGLdzzW2Bpv4jscv4EcNyGDxnzeJtvXWVceoW0g7XweUn4b5P+NvOSV4YCjJ04BU4r/upV7+ulkQxnCWot2MD0zhvlodldn+6tGfdBbYJ/KlBHQjwdjFFKaxqRkuyA= - distributions: sdist bdist_wheel - on: - tags: true - condition: "$TRAVIS_PYTHON_VERSION = 3.5" diff --git a/setup.cfg b/setup.cfg index 869de29..7a73d83 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,3 +6,13 @@ combine_as_imports=true include_trailing_comma=true multi_line_output=5 not_skip=__init__.py + +[coverage:run] +source = picklefield +branch = 1 +relative_files = 1 + +[coverage:report] +exclude_lines = + pragma: no cover + except ImportError: diff --git a/tox.ini b/tox.ini index 1a97361..c899a1e 100644 --- a/tox.ini +++ b/tox.ini @@ -9,11 +9,12 @@ envlist = py38-{3.2,4.0,main}, py39-{3.2,4.0,main}, -[tox:travis] -3.6 = py36 -3.7 = py37 -3.8 = py38 -3.9 = py39 +[gh-actions] +python = + 3.6: py36, flake8, isort + 3.7: py37 + 3.8: py38 + 3.9: py39 [testenv] basepython = @@ -30,6 +31,8 @@ deps = 3.2: Django>=3.0,<3.1 4.0: Django>=4.0,<4.1 main: https://github.com/django/django/archive/main.tar.gz +passenv = + GITHUB_* [testenv:flake8] usedevelop = false From 6c2d73b0d387eb49e38b0432318733b56d2deb96 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 18 Jun 2022 11:50:38 -0400 Subject: [PATCH 3/5] Add support for Django 4.0. --- tests/settings.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/settings.py b/tests/settings.py index 6911ad4..49cec29 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -9,3 +9,5 @@ INSTALLED_APPS = [ 'tests', ] + +DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' From 8e38bb87d5261dc75d9531e8161c48729eb2e9c1 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 18 Jun 2022 11:57:00 -0400 Subject: [PATCH 4/5] Test against Python 3.10. --- .github/workflows/test.yml | 2 +- tests/settings.py | 1 + tox.ini | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ebc61a0..11cb093 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false max-parallel: 5 matrix: - python-version: ['3.6', '3.7', '3.8', '3.9'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v2 diff --git a/tests/settings.py b/tests/settings.py index 49cec29..e7b5336 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -10,4 +10,5 @@ 'tests', ] +USE_TZ = False DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' diff --git a/tox.ini b/tox.ini index c899a1e..56e5ed4 100644 --- a/tox.ini +++ b/tox.ini @@ -8,6 +8,7 @@ envlist = py37-3.2, py38-{3.2,4.0,main}, py39-{3.2,4.0,main}, + py310-{3.2,4.0,main}, [gh-actions] python = @@ -15,6 +16,7 @@ python = 3.7: py37 3.8: py38 3.9: py39 + 3.10: py310 [testenv] basepython = @@ -22,6 +24,7 @@ basepython = 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} From e63ba7969fb697ee1c012f9d9f7708bf28adf9ef Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 18 Jun 2022 15:22:16 -0400 Subject: [PATCH 5/5] Adjust package metadata to reflect support for Django 3.2+. --- setup.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 4cbc928..40f4dc9 100644 --- a/setup.py +++ b/setup.py @@ -18,15 +18,14 @@ 'Development Status :: 5 - Production/Stable', 'Environment :: Web Environment', 'Framework :: Django', - 'Framework :: Django :: 2.2', - 'Framework :: Django :: 3.0', + 'Framework :: Django :: 3.2', + 'Framework :: Django :: 4.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.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', @@ -36,7 +35,7 @@ keywords=['django pickle model field'], packages=find_packages(exclude=['tests', 'tests.*']), python_requires='>=3', - install_requires=['Django>=2.2'], + install_requires=['Django>=3.2'], extras_require={ 'tests': ['tox'], },