diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fce8e9eae..c56ecd4d8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,7 +30,7 @@ jobs: - name: Run linting rules uses: actions/setup-python@v4 with: - python-version: '3.12' + python-version: '3.13' cache: 'pip' - run: pip install -r requirements.txt - run: pylint -j0 core/ @@ -71,7 +71,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: "3.12" + python-version: "3.13" - name: Cache pip dependencies uses: actions/cache@v3 with: @@ -137,7 +137,7 @@ jobs: # string hash randomization. Pinning the seed makes that pick land on `value` deterministically instead # of varying by CI run. See OpenConceptLab/ocl_issues#2708. PYTHONHASHSEED: "2" - # Python 3.12's low-overhead tracer; fine since we measure line coverage only + # Python 3.12+ low-overhead tracer; fine since we measure line coverage only COVERAGE_CORE: sysmon run: | . venv/bin/activate diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 719399043..b77a4ba69 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -23,7 +23,7 @@ jobs: - name: Run linting rules uses: actions/setup-python@v4 with: - python-version: '3.12' + python-version: '3.13' cache: 'pip' - run: pip install -r requirements.txt - run: pylint -j0 core/ @@ -64,7 +64,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: "3.12" + python-version: "3.13" - name: Cache pip dependencies uses: actions/cache@v3 with: @@ -130,7 +130,7 @@ jobs: # string hash randomization. Pinning the seed makes that pick land on `value` deterministically instead # of varying by CI run. See OpenConceptLab/ocl_issues#2708. PYTHONHASHSEED: "2" - # Python 3.12's low-overhead tracer; fine since we measure line coverage only + # Python 3.12+ low-overhead tracer; fine since we measure line coverage only COVERAGE_CORE: sysmon run: | . venv/bin/activate diff --git a/Dockerfile b/Dockerfile index 083b492d8..7ae13bb5b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.12-slim AS builder +FROM python:3.13-slim AS builder ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 @@ -14,7 +14,7 @@ ADD requirements.txt /code/ RUN pip wheel --no-cache-dir --wheel-dir /code/wheels -r requirements.txt -FROM python:3.12-slim +FROM python:3.13-slim ENV PYTHONUNBUFFERED 1 ENV PYTHONDONTWRITEBYTECODE 1 diff --git a/core/settings.py b/core/settings.py index f3e8de165..9064ba6c9 100644 --- a/core/settings.py +++ b/core/settings.py @@ -389,14 +389,15 @@ def get_set_from_env(name): USE_I18N = True -USE_L10N = True - USE_TZ = True # Static files (CSS, JavaScript, Images) STATIC_URL = '/static/' STATIC_ROOT = '/staticfiles' -STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage' +STORAGES = { + 'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, + 'staticfiles': {'BACKEND': 'whitenoise.storage.CompressedStaticFilesStorage'}, +} AUTH_USER_MODEL = 'users.UserProfile' TEST_RUNNER = 'core.common.tests.CustomTestRunner' diff --git a/docker-compose.local.yml b/docker-compose.local.yml index d9ab4c413..142103c6d 100644 --- a/docker-compose.local.yml +++ b/docker-compose.local.yml @@ -3,7 +3,7 @@ # on arm64 they run under Rosetta/QEMU emulation, and once Celery indexing # kicks in the emulated cores saturate hard enough to block the API for # tens of seconds at a time. Building from the local Dockerfile (which uses -# python:3.12-slim, a multi-arch base) gives a native image and ~200x faster +# python:3.13-slim, a multi-arch base) gives a native image and ~200x faster # requests in practice. # # Usage: diff --git a/requirements.txt b/requirements.txt index c597ab6aa..e1b8ad352 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ djangorestframework==3.18.2 pylint==4.0.9 pydash==7.0.6 django-cors-headers==4.9.0 -pyyaml==6.0.1 +pyyaml==6.0.3 colour_runner==0.1.1 boto3==1.36.10 moto==5.0.27 @@ -43,7 +43,7 @@ jsondiff==2.0.0 django-silk==5.5.0 azure-storage-blob==12.19.0 fhir.resources[xml]==8.3.0 -ijson==3.2.3 +ijson==3.4.0 responses==0.25.0 pydantic==2.10.6 minio==7.2.9