diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 674f398..6ea8de2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,10 +11,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python 3 - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: 3 @@ -32,8 +32,8 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - python-version: [3.5, 3.6, 3.7, 3.8, 3.9, "3.10"] - django-version: [18, 19, 110, 111, 20, 21, 22, 30, 31, 32, 40, 50, main] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + django-version: [18, 19, 110, 111, 20, 21, 22, 30, 31, 32, 40, 41, 42, 50, main] experimental: [false] # Allow failures on Django main branch test. @@ -41,71 +41,53 @@ jobs: - python-version: "3.10" django-version: main experimental: true - - exclude: - # Python 3.5 - - python-version: 3.5 - django-version: 30 - - python-version: 3.5 - django-version: 31 - - python-version: 3.5 - django-version: 32 - - python-version: 3.5 - django-version: 40 - - python-version: 3.5 - django-version: 50 - - python-version: 3.5 + - python-version: "3.11" django-version: main - - # Python 3.6 - - python-version: 3.6 - django-version: 18 - - python-version: 3.6 - django-version: 19 - - python-version: 3.6 - django-version: 110 - - python-version: 3.6 - django-version: 40 - - python-version: 3.6 - django-version: 50 - - python-version: 3.6 + experimental: true + - python-version: "3.12" django-version: main + experimental: true + exclude: # Python 3.7 - - python-version: 3.7 + - python-version: "3.7" django-version: 18 - - python-version: 3.7 + - python-version: "3.7" django-version: 19 - - python-version: 3.7 + - python-version: "3.7" django-version: 110 - - python-version: 3.7 + - python-version: "3.7" django-version: 111 - - python-version: 3.7 + - python-version: "3.7" django-version: 40 - - python-version: 3.7 + - python-version: "3.7" + django-version: 41 + - python-version: "3.7" + django-version: 42 + - python-version: "3.7" django-version: 50 - - python-version: 3.7 + - python-version: "3.7" django-version: main # Python 3.8 - - python-version: 3.8 + - python-version: "3.8" django-version: 18 - - python-version: 3.8 + - python-version: "3.8" django-version: 19 - - python-version: 3.8 + - python-version: "3.8" django-version: 110 - - python-version: 3.8 + - python-version: "3.8" django-version: 111 - - python-version: 3.8 + - python-version: "3.8" django-version: 111 - - python-version: 3.8 + - python-version: "3.8" django-version: 20 - - python-version: 3.8 + - python-version: "3.8" django-version: 21 - - python-version: 3.8 + - python-version: "3.8" django-version: 50 - - python-version: 3.8 + - python-version: "3.8" django-version: main # Python 3.9 @@ -154,14 +136,72 @@ jobs: - python-version: "3.10" django-version: main + # Python 3.11 + - python-version: "3.11" + django-version: 18 + - python-version: "3.11" + django-version: 19 + - python-version: "3.11" + django-version: 110 + - python-version: "3.11" + django-version: 111 + - python-version: "3.11" + django-version: 111 + - python-version: "3.11" + django-version: 20 + - python-version: "3.11" + django-version: 21 + - python-version: "3.11" + django-version: 21 + - python-version: "3.11" + django-version: 22 + - python-version: "3.11" + django-version: 30 + - python-version: "3.11" + django-version: 31 + - python-version: "3.11" + django-version: 40 + - python-version: "3.11" + django-version: main + + # Python 3.12 + - python-version: "3.12" + django-version: 18 + - python-version: "3.12" + django-version: 19 + - python-version: "3.12" + django-version: 110 + - python-version: "3.12" + django-version: 111 + - python-version: "3.12" + django-version: 111 + - python-version: "3.12" + django-version: 20 + - python-version: "3.12" + django-version: 21 + - python-version: "3.12" + django-version: 21 + - python-version: "3.12" + django-version: 22 + - python-version: "3.12" + django-version: 30 + - python-version: "3.12" + django-version: 31 + - python-version: "3.12" + django-version: 40 + - python-version: "3.12" + django-version: 41 + - python-version: "3.12" + django-version: main + runs-on: ubuntu-latest 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 }} @@ -180,10 +220,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python 3 - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: 3 @@ -197,7 +237,7 @@ jobs: run: twine check dist/* - name: Upload Python packages artifact - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: Python Packages path: dist diff --git a/setup.cfg b/setup.cfg index ab03acc..f277f1a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -16,6 +16,11 @@ classifiers = Programming Language :: Python :: 3.5 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 :: Internet :: WWW/HTTP Framework :: Django Framework :: Django :: 1.8 @@ -44,14 +49,14 @@ keywords = [options] packages = find: install_requires = - Django>=1.8,<6 + Django>=1.8 python_requires = >=3.4 [options.extras_require] lint = - isort==5.7.0 - flake8==3.8.4 - black==20.8b1 + isort==5.13.2 + flake8==7.0.0 + black==24.4.2 [options.packages.find] exclude = diff --git a/tox.ini b/tox.ini index e3a8354..baf8fea 100644 --- a/tox.ini +++ b/tox.ini @@ -5,16 +5,16 @@ envlist = py{35,36,37}-dj{20} py{35,36,37}-dj{21} py{35,36,37,38}-dj{22} - py{36,37,38,39}-dj{30,32,main} - py{38,39,310}-dj{32,40,main} - py{310}-dj{50,main} + py{36,37,38,39}-dj{30,32} + py{38,39,310}-dj{32,40} + py{310}-dj{32,40,41,42,50,main} + py{311}-dj{41,42,50,main} + py{312}-dj{42,50,main} flake8 isort [testenv] deps = - # Use the old pip to avoid issues with the new resolver. - pip<20.3 dj18: Django>=1.8,<1.9 dj19: Django>=1.9,<1.10 dj110: Django>=1.10,<1.11 @@ -28,7 +28,6 @@ deps = dj40: Django>=4,<4.1 dj50: Django>=5,<5.1 djmain: https://github.com/django/django/archive/main.tar.gz -install_command = pip install -e . -U {opts} {packages} commands = python run_tests.py