Skip to content

Widen supported django and python ranges, update developer tools

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 31 Oct 15:16
86b42bd

Note from the author: Sorry about the commit messages here. Unprofessional but it was a real nightmare to get this done and I was planning to squash them then forgot! - @thclark.

Contents (#71)

IMPORTANT: There is 1 breaking change.

Fixes

  • Use newer accessor for django settings
  • 💥 BREAKING CHANGE: Avoid circular import of StreamHandler in some python environments
  • Correctly parameterise tox dependency installation
  • FFS
  • Tighten django ranges

Operations

  • Update devcontainer onto latest stack
  • Fail slow on matrix so we can detect problems with specific builds
  • Update tox versions
  • Remove unused tox-poetry plugin
  • Enable testing using example buckets in GitHub Actions, via WIF
  • Refine test matrix, remove tox-factor, no longer required in tox 4
  • Add credentials generation for Workload Identity Federation
  • Try to get poetry to install dev dependencies
  • Ditch the tox bitch
  • Fix the pre-commit run
  • Remove pre-commit-sphinx local install for use on GHA
  • Exclude invalid python-django combinations
  • Skip pre-commit checks invalid for GHA
  • Bump version
  • Add django env vars
  • Add application credentials to environment
  • Temporarily constrain django version
  • Add a check-main-merge test
  • Simplify merge check
  • Update cache to a non-deprecated node runner
  • Change order of publish-test so it appears above long test matrix
  • Update cache action version
  • Rename job for clarity

Dependencies

  • Widen python and django tested versions
  • Restrict django 5.1 until STORAGES problem solved
  • Update lockfile
  • Remove django 3 support

Testing

  • Patch the error reporting emitter
  • Remove now-unused tox file
  • Avoid utc import from django timezone

Style

  • Fix all linting problems

Other

  • Toward allowing ci to run on push to main

Upgrade instructions

💥 Avoid circular import of StreamHandler in some python environments

The django_gcp.logging module has been renamed to django_gcp.logs because some python environments (eg installed in tox) don't resolve the import order in the same way, so mistake django_gcp.logging for the inbuilt python logging module. To overcome this, users of the structured logging or error reporting handlers must update their handler classes to 'django_gcp.logs.GoogleStructuredLogsHandler' and 'django_gcp.logs.GoogleErrorReportingHandler' from the previous 'django_gcp.logging.'