Skip to content

Commit 1582ab3

Browse files
📌 [#2748] -- Pin to Python 3.10.9
It appears that Python 3.10.10 introduced a regression that can cause deadlocks on threading.local which manifests in CI at the moment for us. For "better safe than sorry" reasons the Docker image version is also pinned as we do NOT want a risk of deadlocks in production. For more information, see python/cpython#102126
1 parent c2182f7 commit 1582ab3

2 files changed

Lines changed: 9 additions & 12 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
uses: maykinmedia/setup-django-backend@v1
6868
with:
6969
apt-packages: 'libxml2-dev libxmlsec1-dev libxmlsec1-openssl gettext postgresql-client'
70-
python-version: '3.10'
70+
python-version: '3.10.9'
7171
optimize-postgres: 'yes'
7272
pg-service: 'postgres'
7373
setup-node: 'yes'
@@ -96,16 +96,13 @@ jobs:
9696
run: |
9797
python src/manage.py compilemessages
9898
python src/manage.py collectstatic --noinput --link
99+
coverage run \
100+
--concurrency=multiprocessing \
101+
--parallel-mode \
99102
src/manage.py test src \
100103
--parallel 2 \
101104
--exclude-tag=e2e
102-
# coverage run \
103-
# --concurrency=multiprocessing \
104-
# --parallel-mode \
105-
# src/manage.py test src \
106-
# --parallel 2 \
107-
# --exclude-tag=e2e
108-
# coverage combine
105+
coverage combine
109106
110107
env:
111108
DJANGO_SETTINGS_MODULE: openforms.conf.ci
@@ -116,8 +113,8 @@ jobs:
116113
- name: Run JS tests
117114
run: npm test
118115

119-
# - name: Publish coverage report
120-
# uses: codecov/codecov-action@v3
116+
- name: Publish coverage report
117+
uses: codecov/codecov-action@v3
121118

122119
- name: Generate OAS
123120
run: ./bin/generate_oas.sh openapi.yaml

‎Dockerfile‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ FROM openformulieren/open-forms-sdk:${SDK_RELEASE} as sdk-image
99

1010
# Stage 1 - Backend build environment
1111
# includes compilers and build tooling to create the environment
12-
FROM python:3.10-slim-bullseye AS backend-build
12+
FROM python:3.10.9-slim-bullseye AS backend-build
1313

1414
RUN apt-get update && apt-get install -y --no-install-recommends \
1515
pkg-config \
@@ -61,7 +61,7 @@ COPY ./src /app/src
6161
RUN npm run build
6262

6363
# Stage 3 - Build docker image suitable for production
64-
FROM python:3.10-slim-bullseye
64+
FROM python:3.10.9-slim-bullseye
6565

6666
# Stage 3.1 - Set up the needed production dependencies
6767
# install all the dependencies for GeoDjango

0 commit comments

Comments
 (0)