Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop support for Python 3.6-3.7, Django 3.2-4.1 #69

Merged
merged 9 commits into from
Feb 15, 2025
2 changes: 1 addition & 1 deletion .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ jobs:
- name: checkout code
uses: actions/checkout@v2
- name: run checks
run: docker-compose run --rm django-pg-zero-downtime-migrations-tests tox
run: docker compose run --rm django-pg-zero-downtime-migrations-tests tox
3 changes: 0 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ RUN apt-get install -q -y --no-install-recommends software-properties-common git
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update
RUN apt-get install -q -y --no-install-recommends \
python3.6 \
python3.7 python3.7-distutils \
python3.8 python3.8-distutils \
python3.9 python3.9-distutils \
python3.10 python3.10-distutils \
python3.11 python3.11-distutils \
Expand Down
1 change: 0 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.7"
services:
pg16:
image: postgres:16-alpine
Expand Down
5 changes: 1 addition & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ def _get_long_description():
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'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',
Expand All @@ -51,7 +48,7 @@ def _get_long_description():
],
keywords='django postgres postgresql migrations',
packages=find_packages(exclude=['manage*', 'tests*']),
python_requires='>=3.6',
python_requires='>=3.9',
install_requires=[
'django>=3.2',
]
Expand Down
18 changes: 9 additions & 9 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[tox]
envlist =
py{3.10,3.11,3.12}-django{5.0}-psycopg{2,3}
py{3.8,3.9,3.10,3.11,3.12}-django{4.2}-psycopg{2,3}
py{3.8,3.9,3.10,3.11}-django{4.0,4.1}
py{3.6,3.7,3.8,3.9,3.10}-django{3.2}
py{3.9,3.10,3.11,3.12}-django{4.2}-psycopg{2,3}
py{3.9,3.10,3.11}-django{4.0,4.1}
py{3.9,3.10}-django{3.2}
Copy link
Owner

@tbicr tbicr Feb 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we:

  • remove django 3.2 with python 3.6-3.7
    • will require django.VERSION[:2] <= (3, 2) branch removal
  • remove django 4.0 and django 4.1
    • will require django.VERSION[:2] < (4, 0) and django.VERSION[:2] >= (4, 0) branch removal
    • will require django.VERSION[:2] < (4, 1) and django.VERSION[:2] >= (4, 1) branch removal
    • will require django.VERSION[:2] < (4, 2) and django.VERSION[:2] >= (4, 2) branch removal
    • will require # TODO: after django 4.1 support drop replace *args, **kwargs with original signature comment removal and signature fix
  • keep django 4.2 and keep python 3.8, ie. postpone python 3.8 removal with django 4.2 removal or when it will became blocker


[testenv]
usedevelop = True
Expand All @@ -12,14 +12,14 @@ commands =
py{3.12}-django{5.0}-psycopg{3}: flake8
py{3.12}-django{5.0}-psycopg{3}: isort . --check --diff

py{3.8,3.9,3.10,3.11,3.12}-django{4.2,5.0}-psycopg{2,3}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit"
py{3.8,3.9,3.10,3.11,3.12}-django{4.2,5.0}-psycopg{2,3}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit"
py{3.9,3.10,3.11,3.12}-django{4.2,5.0}-psycopg{2,3}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit"
py{3.9,3.10,3.11,3.12}-django{4.2,5.0}-psycopg{2,3}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit"

py{3.8,3.9,3.10,3.11}-django{4.0,4.1}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit"
py{3.8,3.9,3.10,3.11}-django{4.0,4.1}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit"
py{3.9,3.10,3.11}-django{4.0,4.1}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit"
py{3.9,3.10,3.11}-django{4.0,4.1}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit"

py{3.6,3.7,3.8,3.9,3.10}-django{3.2}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit"
py{3.6,3.7,3.8,3.9,3.10}-django{3.2}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit"
py{3.9,3.10}-django{3.2}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit"
py{3.9,3.10}-django{3.2}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit"

py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg16 DB_USER=test DB_ENGINE=django.db.backends.postgresql pytest tests/integration"
py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg16 DB_USER=test DB_SUPER_USER=root pytest tests/integration"
Expand Down