From 13c4ff4980f1b6c558e075128b5096521d61517a Mon Sep 17 00:00:00 2001 From: wmuldergov Date: Wed, 17 Jun 2026 09:32:16 -0700 Subject: [PATCH 1/2] DBC22-6720: Update Python Packages --- .github/workflows/codetest-sonarcloud.yml | 4 +- compose/backend/Dockerfile | 4 +- compose/backend/Dockerfile.dev | 2 +- src/backend/requirements/development.txt | 8 +-- src/backend/requirements/requirements.txt | 68 +++++++++++------------ 5 files changed, 43 insertions(+), 43 deletions(-) diff --git a/.github/workflows/codetest-sonarcloud.yml b/.github/workflows/codetest-sonarcloud.yml index 055495ab6..c8a17cfa6 100644 --- a/.github/workflows/codetest-sonarcloud.yml +++ b/.github/workflows/codetest-sonarcloud.yml @@ -33,10 +33,10 @@ jobs: run: | sudo apt-get update sudo apt-get install -y gdal-bin - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v6 with: - python-version: '3.13' + python-version: '3.14' - name: Install Dependencies run: | python -m pip install --upgrade pip diff --git a/compose/backend/Dockerfile b/compose/backend/Dockerfile index 8a03d8ba9..0672e6705 100644 --- a/compose/backend/Dockerfile +++ b/compose/backend/Dockerfile @@ -2,7 +2,7 @@ # ========================================== # STAGE 1: Build # ========================================== -FROM python:3.13-slim AS builder +FROM python:3.14-slim AS builder # Install system dependencies + compilers needed to build Python wheels RUN apt-get update \ @@ -34,7 +34,7 @@ RUN pip install --no-cache-dir -r requirements/requirements.txt # ========================================== # STAGE 2: Final Runtime # ========================================== -FROM python:3.13-slim AS runner +FROM python:3.14-slim AS runner RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ diff --git a/compose/backend/Dockerfile.dev b/compose/backend/Dockerfile.dev index 802f6d4dc..4863fc297 100644 --- a/compose/backend/Dockerfile.dev +++ b/compose/backend/Dockerfile.dev @@ -1,5 +1,5 @@ # Use an official Python runtime as a parent image -FROM python:3.13-slim +FROM python:3.14-slim # Install only what you need, clean up apt caches in one RUN RUN apt-get update \ diff --git a/src/backend/requirements/development.txt b/src/backend/requirements/development.txt index 0fe4a3225..de6079a56 100644 --- a/src/backend/requirements/development.txt +++ b/src/backend/requirements/development.txt @@ -1,8 +1,8 @@ -r ./requirements.txt -django-extensions==3.1.5 -pytest==9.0.3 -coverage==7.6.1 +django-extensions==4.1 +pytest==9.1.0 +coverage==7.14.1 # Experimental packages, could be removed or moved to base later -pylint +pylint==4.0.6 diff --git a/src/backend/requirements/requirements.txt b/src/backend/requirements/requirements.txt index 34c50dfd5..f70e6b155 100644 --- a/src/backend/requirements/requirements.txt +++ b/src/backend/requirements/requirements.txt @@ -1,38 +1,38 @@ -Django==5.2.14 -django-allauth==65.14.2 -django-environ==0.10.0 -djangorestframework==3.15.2 -djangorestframework-gis==1.0 -django-cors-headers==3.13.0 -django-filter==23.5 -drf-recaptcha==3.0.0 -whitenoise==6.5.0 +Django==5.2.15 +django-allauth==65.18.0 +django-environ==0.14.0 +djangorestframework==3.17.1 +djangorestframework-gis==1.2.1 +django-cors-headers==4.9.0 +django-filter==25.2 +drf-recaptcha==4.0.3 +whitenoise==6.12.0 httpx==0.28.1 -huey==2.6.0 -markdown==3.8.1 -psycopg==3.1.9 -redis==4.5.5 -wagtail==7.4.1 -wagtail-modeladmin==2.2.0 -django-email-log==1.4.0 -pyodbc==5.2.0 -boto3==1.39.10 -aio-pika==9.5.5 -pydantic==2.11.7 -pillow==12.2.0 -timezonefinder==8.2.1 -pytz==2025.2 -click==8.2.1 -aiofiles==24.1.0 +huey==3.2.1 +markdown==3.10.2 +psycopg==3.3.4 +redis==8.0.1 +wagtail==7.4.2 +wagtail-modeladmin==2.4.0 +django-email-log==1.5.0 +pyodbc==5.3.0 +boto3==1.43.52 +aio-pika==10.0.1 +pydantic==2.13.4 +pillow==12.3.0 +timezonefinder==8.2.5 +pytz==2026.2 +click==8.4.2 +aiofiles==25.1.0 zipstream==1.1.4 -drf-spectacular==0.28.0 -drf-spectacular-sidecar==2025.9.1 -mssql-django==1.6 -django-debug-toolbar==6.1.0 -django-prometheus==2.4.1 -django-redis==6.0.0 -PyJWT==2.12.0 -cryptography==46.0.7 +drf-spectacular==0.30.0 +drf-spectacular-sidecar==2026.7.1 +mssql-django==1.7.3 +django-debug-toolbar==7.0.0 +django-prometheus==2.5.0 +django-redis==7.0.0 +PyJWT==2.13.0 +cryptography==49.0.0 django-http-compression[brotli]==1.4.0 -kubernetes==36.0.1 +kubernetes==36.0.3 gunicorn==26.0.0 From b75170e70c4ffb2d123649cf02a14c13af35a703 Mon Sep 17 00:00:00 2001 From: wmuldergov Date: Fri, 3 Jul 2026 15:20:27 -0700 Subject: [PATCH 2/2] DBC22-6720: Fix unit tests Revert "DBC22-6720: Fix unit tests" This reverts commit 935e57a3c1ca80a48548b462f0353cde5e576b37. Reapply "DBC22-6720: Fix unit tests" This reverts commit bd18c99947a4220fe8df7b8bd28f2744de01e029. --- .../apps/event/tests/test_event_notification.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/apps/event/tests/test_event_notification.py b/src/backend/apps/event/tests/test_event_notification.py index 0c68f68bf..14e8e3570 100644 --- a/src/backend/apps/event/tests/test_event_notification.py +++ b/src/backend/apps/event/tests/test_event_notification.py @@ -87,8 +87,8 @@ def setUp(self): notification_days=['Monday', 'Tuesday'], notification_start_date=None, notification_end_date=None, - notification_start_time=datetime.time(8, 0, tzinfo=ZoneInfo('America/Vancouver')), - notification_end_time=datetime.time(18, 0, tzinfo=ZoneInfo('America/Vancouver')) + notification_start_time=datetime.time(8, 0), + notification_end_time=datetime.time(18, 0) ) # Case 3: Route matching date period and time frame @@ -105,8 +105,8 @@ def setUp(self): notification_days=[], notification_start_date=datetime.date(2023, 10, 10), notification_end_date=datetime.date(2023, 10, 20), - notification_start_time=datetime.time(8, 0, tzinfo=ZoneInfo('America/Vancouver')), - notification_end_time=datetime.time(18, 0, tzinfo=ZoneInfo('America/Vancouver')) + notification_start_time=datetime.time(8, 0), + notification_end_time=datetime.time(18, 0) ) # Case 4: Route matching specific date and time frame @@ -123,8 +123,8 @@ def setUp(self): notification_days=[], notification_start_date=datetime.date(2023, 10, 11), notification_end_date=None, - notification_start_time=datetime.time(8, 0, tzinfo=ZoneInfo('America/Vancouver')), - notification_end_time=datetime.time(18, 0, tzinfo=ZoneInfo('America/Vancouver')) + notification_start_time=datetime.time(8, 0), + notification_end_time=datetime.time(18, 0) ) # Case 5: Always active route with restricted notification types