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

Django 5 and Wagtail 5 support #29

Merged
merged 17 commits into from
Jan 17, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 20 additions & 11 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,26 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true


env:
FORCE_COLOR: '1' # Make tools pretty.
TOX_TESTENV_PASSENV: FORCE_COLOR
PIP_DISABLE_PIP_VERSION_CHECK: '1'
PIP_NO_PYTHON_VERSION_WARNING: '1'
PYTHON_LATEST: '3.12'


jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.8
uses: actions/setup-python@v4
- uses: actions/setup-python@v4
with:
python-version: '3.8'
python-version: ${{ env.PYTHON_LATEST }}
zerolab marked this conversation as resolved.
Show resolved Hide resolved
- uses: pre-commit/[email protected]
- uses: pre-commit/[email protected]
zerolab marked this conversation as resolved.
Show resolved Hide resolved
with:
token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -32,9 +41,9 @@ jobs:
needs: lint
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
Expand All @@ -54,23 +63,23 @@ jobs:
needs: lint
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]

services:
postgres:
image: postgres:11
image: bitnami/postgresql:15
zerolab marked this conversation as resolved.
Show resolved Hide resolved
env:
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python }}
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
Expand Down
16 changes: 8 additions & 8 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,23 @@
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"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",
"Framework :: Django",
"Framework :: Django :: 2.2",
"Framework :: Django :: 3.0",
"Framework :: Django :: 3.1",
"Framework :: Django :: 3.2",
"Framework :: Django :: 4.1",
zerolab marked this conversation as resolved.
Show resolved Hide resolved
"Framework :: Django :: 4.2",
"Framework :: Django :: 5.0",
"Framework :: Wagtail",
"Framework :: Wagtail :: 2",
"Framework :: Wagtail :: 3",
"Framework :: Wagtail :: 4",
"Framework :: Wagtail :: 5",
],
install_requires=[
"Django>=3.2,<4.2",
"Wagtail>=2.15,<5.0",
"Django>=3.2,<5.1",
"Wagtail>=4.1,<6.0",
zerolab marked this conversation as resolved.
Show resolved Hide resolved
"wagtail-localize>=1.0",
"pygit2>=1.0,<2.0",
"gitpython>=3.0,<4.0",
Expand Down
2 changes: 1 addition & 1 deletion testmanage.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def runtests():
try:
execute_from_command_line(argv)
finally:
from wagtail.tests.settings import MEDIA_ROOT, STATIC_ROOT
from wagtail.test.settings import MEDIA_ROOT, STATIC_ROOT

shutil.rmtree(STATIC_ROOT, ignore_errors=True)
shutil.rmtree(MEDIA_ROOT, ignore_errors=True)
Expand Down
20 changes: 11 additions & 9 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ requires = tox >= 3.23.0, < 4.0

# note: use py and non-dotted python version as we use tox-py
envlist =
py{37,38,39,310}-django{3.2}-wagtail{2.15,3,4}
py{38,39,310}-django{4.0}-wagtail{3,4}
py{38,39,310}-django{4.1}-wagtail{4,main}
python{3.8,3.9,3.10}-django{3.2,4.1}-wagtail{4.1}
python{3.8,3.9,3.10,3.11}-django{4.2}-wagtail{5.1,5.2}
python{3.10,3.11,3.12}-django{5.0}-wagtail{5.2}
python{3.12}-django{4.2}-wagtail{5.2}

[flake8]
# E501: Line too long
Expand All @@ -25,25 +26,26 @@ deps =
coverage

django3.2: Django>=3.2,<3.3
django4.0: Django>=4.0,<4.1
django4.1: Django>=4.1,<4.2
django4.2: Django>=4.2,<4.3
django5.0: Django>=5.0,<5.1
djmain: git+https://github.com/django/django.git@main#egg=Django

wagtail2.15: wagtail>=2.15,<2.16
wagtail3: wagtail>=3.0,<4.0
wagtail4: wagtail>=4.0,<5.0
wagtail4.1: wagtail>=4.1,<4.2
wagtail5.1: wagtail>=5.1,<5.2
wagtail5.2: wagtail>=5.2,<5.3
wagtailmain: git+https://github.com/wagtail/wagtail.git

postgres: psycopg2>=2.6

[testenv:flake8]
basepython=python3.7
basepython=python3.11
deps=flake8>=2.2.0
commands=flake8 wagtail_localize_git


[testenv:interactive]
basepython = python3.9
basepython = python3.11

commands_pre =
python {toxinidir}/testmanage.py makemigrations
Expand Down
1 change: 0 additions & 1 deletion wagtail_localize_git/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
default_app_config = "wagtail_localize_git.apps.WagtailLocalizeGitAppConfig"


VERSION = (0, 13, 0)
Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.db import models
from django.utils.text import slugify
from wagtail.core.models import Locale, Page
from wagtail.models import Locale, Page
from wagtail.documents.models import AbstractDocument
from wagtail.images.models import AbstractImage
from wagtail.snippets.models import get_snippet_models
Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from django.conf import settings
from django.db import transaction
from django.utils.module_loading import import_string
from wagtail.core.models import Locale
from wagtail.models import Locale

from wagtail_localize.models import Translation

Expand Down
1 change: 0 additions & 1 deletion wagtail_localize_git/test/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
default_app_config = "wagtail_localize_git.test.apps.WagtailLocalizeGitTestAppConfig"
6 changes: 1 addition & 5 deletions wagtail_localize_git/test/migrations/0001_initial.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@
from django.db import migrations, models
import django.db.models.deletion
import uuid

try:
import wagtail.fields as wagtail_fields
except ImportError:
import wagtail.core.fields as wagtail_fields
import wagtail.fields as wagtail_fields


class Migration(migrations.Migration):
Expand Down
12 changes: 3 additions & 9 deletions wagtail_localize_git/test/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,9 @@

from wagtail_localize.fields import SynchronizedField, TranslatableField


try:
from wagtail.admin.panels import FieldPanel
from wagtail.fields import RichTextField
from wagtail.models import Page, TranslatableMixin
except ImportError:
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.fields import RichTextField
from wagtail.core.models import Page, TranslatableMixin
from wagtail.admin.panels import FieldPanel
from wagtail.fields import RichTextField
from wagtail.models import Page, TranslatableMixin


class TestPage(Page):
Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/test/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
"wagtail.contrib.routable_page",
"wagtail.contrib.styleguide",
"wagtail.sites",
"wagtail.core",
"wagtail",
"taggit",
"rest_framework",
"django.contrib.admin",
Expand Down
4 changes: 2 additions & 2 deletions wagtail_localize_git/test/urls.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from django.conf.urls import include
from django.urls import include
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.urls import path
from wagtail.admin import urls as wagtailadmin_urls
from wagtail.core import urls as wagtail_urls
from wagtail import urls as wagtail_urls
from wagtail.documents import urls as wagtaildocs_urls


Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/tests/test_git.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from django.test import TestCase, override_settings
from git import PushInfo
from wagtail.core.models import Locale
from wagtail.models import Locale

from wagtail_localize_git.git import (
DEFAULT_BRANCH,
Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/tests/test_importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from django.core.exceptions import ValidationError
from django.test import TestCase
from django.utils import timezone
from wagtail.core.models import Locale, Page
from wagtail.models import Locale, Page

from wagtail_localize.models import (
MissingRelatedObjectError,
Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/tests/test_models.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.test import TestCase
from wagtail.core.models import Page, Site
from wagtail.models import Page, Site
from wagtail.documents.models import Document
from wagtail.images.models import Image
from wagtail.images.tests.utils import get_test_image_file
Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/tests/test_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import pygit2

from django.test import TestCase, override_settings
from wagtail.core.models import Locale, Page
from wagtail.models import Locale, Page

from wagtail_localize.models import StringTranslation, Translation, TranslationSource
from wagtail_localize_git.models import Resource, SyncLog
Expand Down
4 changes: 2 additions & 2 deletions wagtail_localize_git/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from django.contrib.auth.models import Group
from django.test import TestCase
from django.urls import reverse
from wagtail.core.models import Locale, Page
from wagtail.tests.utils import WagtailTestUtils
from wagtail.models import Locale, Page
from wagtail.test.utils import WagtailTestUtils

from wagtail_localize.models import Translation, TranslationSource
from wagtail_localize_git.models import Resource, SyncLog, SyncLogResource
Expand Down
2 changes: 1 addition & 1 deletion wagtail_localize_git/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from django.utils.translation import gettext_lazy as _
from django.views.i18n import JavaScriptCatalog
from wagtail.admin.menu import MenuItem
from wagtail.core import hooks
from wagtail import hooks

from . import views

Expand Down
Loading