From d4a13ac10ce00e979fddba995a3888aad9b76fdf Mon Sep 17 00:00:00 2001 From: Jonathan Willitts Date: Thu, 5 Sep 2024 17:15:30 +0100 Subject: [PATCH] Align Tox, GH Actions, setup.cfg (py312,dj42,dj51) Includes: - align pyproject.toml files - align build.yml files - align setup.cfg (somewhat) - add Python 3.12 support - add Django 5.1 support, tests - drop Python 3.11 support - drop Django 5.0 support - fix (some) typos --- .github/workflows/build.yml | 25 ++++++++++++++++--------- pyproject.toml | 12 +++++------- setup.cfg | 6 +++--- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 59f4d55..dd67298 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,20 +5,17 @@ on: [push, pull_request] jobs: build: - name: build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }}) + name: | + build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }}, ${{ matrix.database-engine }}) runs-on: ubuntu-latest strategy: fail-fast: false matrix: - python-version: ['3.11', '3.12'] - django-version: ['4.2', '5.0', 'dev'] + python-version: ['3.12'] + django-version: ['4.2', '5.1', 'dev'] + database-engine: ["mysql", "postgres"] - exclude: - - python-version: '3.12' - django-version: '4.2' - - python-version: '3.11' - django-version: 'dev' services: mysql: image: mysql:latest @@ -28,6 +25,17 @@ jobs: ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + postgres: + image: postgres:latest + env: + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 steps: - name: Install pycups and words dependency @@ -61,7 +69,6 @@ jobs: python -m pip install --upgrade pip python -m pip install -r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/tox.txt - - name: Tox tests run: | tox -v diff --git a/pyproject.toml b/pyproject.toml index 2e2d5a7..2dcce9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,12 +6,12 @@ version_file="_version.py" [tool.black] line-length = 95 -target-version = ["py311"] +target-version = ["py312"] extend-exclude = '''^(.*\/)*\b(migrations)\b($|\/.*$)''' [tool.isort] profile = "black" -py_version = "311" +py_version = "312" skip = [".tox", ".eggs", "migrations"] [tool.coverage.run] @@ -35,21 +35,19 @@ exclude_lines = [ legacy_tox_ini = """ [tox] envlist = - py{311}-dj{42,50}, - py{312}-dj{50,dev}, + py{312}-dj{42,51,dev}, lint isolated_build = true [gh-actions] python = - 3.11: py311 3.12: py312, lint [gh-actions:env] DJANGO = 4.2: dj42 - 5.0: dj50 + 5.1: dj51 dev: djdev, lint [testenv] @@ -59,7 +57,7 @@ deps = -r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/edc.txt -r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/third_party_dev.txt dj42: Django>=4.2,<5.0 - dj50: Django>=5.0 + dj51: Django>=5.1,<5.2 djdev: https://github.com/django/django/tarball/main commands = diff --git a/setup.cfg b/setup.cfg index ad91b28..d7f2bcd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -13,15 +13,15 @@ classifiers= Environment :: Web Environment Framework :: Django Framework :: Django :: 4.2 + Framework :: Django :: 5.1 Intended Audience :: Developers Intended Audience :: Science/Research Operating System :: OS Independent - Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 License :: OSI Approved :: GNU General Public License v3 (GPLv3) - [options] -python_requires = >=3.11 +python_requires = >=3.12 zip_safe = False include_package_data = True packages = find: