Skip to content

Conversation

@joshuadavidthomas
Copy link
Member

@joshuadavidthomas joshuadavidthomas commented Jan 7, 2026

Summary

  • Drops support for Python 3.8/3.9, Django 3.2/5.0, and Wagtail 5.2/6.0
  • Adds support for Python 3.13/3.14, Django 5.1/6.0, and Wagtail 6.3-7.2
  • Fixes pre-existing test failures that were blocking CI
  • Marks development versions (Django main, Wagtail main) as allowed failures to prevent blocking legitimate PRs
  • Modernizes GitHub Actions CI workflow to use official astral-sh/setup-uv action

Context

PR #92 (switch to prek) and other PRs are blocked by pre-existing CI failures unrelated to their changes. This PR resolves those failures by:

  1. Removing broken test that relied on removed Wagtail API (wagtail.admin.views.home.icons)
  2. Bumping minimum Python to 3.10 to fix mypy type checking failures
  3. Updating test matrix to comprehensive Django/Wagtail support with proper compatibility constraints
  4. Replacing deprecated custom westerveltco/setup-ci-action@v0 with official astral-sh/setup-uv@v7
  5. Adding gha_matrix nox session for cleaner matrix generation (no more bash+jq)

After this PR, the CI will run ~64 stable test jobs across all supported version combinations, with dev versions allowed to fail without blocking merges.

CI Modernization

The GitHub Actions workflow now follows the modern pattern used in other TWC packages:

  • Uses official astral-sh/setup-uv@v7 with built-in caching
  • Matrix generation moved to Python (gha_matrix nox session) instead of bash+jq
  • All nox commands run via uv run nox for better dependency management

Breaking Changes

This is a breaking change that will require a version bump to 0.3.0 in a separate PR.

Drop support for Python 3.8/3.9, Django 3.2/5.0, and Wagtail 5.2/6.0.
Add support for Python 3.13/3.14, Django 5.1/6.0, and Wagtail 6.3-7.2.
Fix test failures and mark dev versions as allowed failures in CI.
Wagtail 7.0 and 7.1 do not support Django 6.0. Only Wagtail 7.2+
has preliminary Django 6.0 support via django-tasks 0.9.

This fixes the CI test failures where django-tasks was raising:
TypeError: Task.__init__() got an unexpected keyword argument 'enqueue_on_commit'
@joshuadavidthomas joshuadavidthomas merged commit a9c6f66 into main Jan 7, 2026
61 checks passed
@joshuadavidthomas joshuadavidthomas deleted the bump-python-310-minimum branch January 7, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants