⬆️(docker) upgrade backend image to python 3.13

Python 3.13 is now stable, our libraries are compatible with it. We also
upgrade the alpine version used in order to fix CVE related to libxml2
This commit is contained in:
Manuel Raynaud
2025-05-16 10:21:33 +02:00
parent 6cd0cd0689
commit 0da042f887
5 changed files with 15 additions and 6 deletions

View File

@@ -25,7 +25,7 @@ jobs:
- name: Install Python - name: Install Python
uses: actions/setup-python@v3 uses: actions/setup-python@v3
with: with:
python-version: "3.12.6" python-version: "3.13.3"
- name: Upgrade pip and setuptools - name: Upgrade pip and setuptools
run: pip install --upgrade pip setuptools run: pip install --upgrade pip setuptools
- name: Install development dependencies - name: Install development dependencies

View File

@@ -91,7 +91,7 @@ jobs:
- name: Install Python - name: Install Python
uses: actions/setup-python@v3 uses: actions/setup-python@v3
with: with:
python-version: "3.12.6" python-version: "3.13.3"
- name: Upgrade pip and setuptools - name: Upgrade pip and setuptools
run: pip install --upgrade pip setuptools run: pip install --upgrade pip setuptools
- name: Install development dependencies - name: Install development dependencies
@@ -186,7 +186,7 @@ jobs:
- name: Install Python - name: Install Python
uses: actions/setup-python@v3 uses: actions/setup-python@v3
with: with:
python-version: "3.12.6" python-version: "3.13.3"
- name: Install development dependencies - name: Install development dependencies
run: pip install --user .[dev] run: pip install --user .[dev]

View File

@@ -20,6 +20,8 @@ and this project adheres to
- 📝(frontend) Update documentation - 📝(frontend) Update documentation
- ✅(frontend) Improve tests coverage - ✅(frontend) Improve tests coverage
- ⬆️(docker) upgrade backend image to python 3.13 #973
### Removed ### Removed

View File

@@ -1,7 +1,7 @@
# Django impress # Django impress
# ---- base image to inherit from ---- # ---- base image to inherit from ----
FROM python:3.12.6-alpine3.20 AS base FROM python:3.13.3-alpine AS base
# Upgrade pip to its latest release to speed up dependencies installation # Upgrade pip to its latest release to speed up dependencies installation
RUN python -m pip install --upgrade pip setuptools RUN python -m pip install --upgrade pip setuptools
@@ -30,7 +30,7 @@ RUN mkdir /install && \
# ---- mails ---- # ---- mails ----
FROM node:20 AS mail-builder FROM node:24 AS mail-builder
COPY ./src/mail /mail/app COPY ./src/mail /mail/app
@@ -139,6 +139,9 @@ CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
# ---- Production image ---- # ---- Production image ----
FROM core AS backend-production FROM core AS backend-production
# Remove apk cache, we don't need it anymore
RUN rm -rf /var/cache/apk/*
ARG IMPRESS_STATIC_ROOT=/data/static ARG IMPRESS_STATIC_ROOT=/data/static
# Gunicorn # Gunicorn

View File

@@ -410,5 +410,9 @@ def test_api_documents_attachment_upload_unsafe():
"is_unsafe": "true", "is_unsafe": "true",
"status": "processing", "status": "processing",
} }
assert file_head["ContentType"] == "application/octet-stream" # Depending the libmagic version, the content type may change.
assert file_head["ContentType"] in [
"application/x-dosexec",
"application/octet-stream",
]
assert file_head["ContentDisposition"] == 'attachment; filename="script.exe"' assert file_head["ContentDisposition"] == 'attachment; filename="script.exe"'