diff --git a/grass-gis-test-docker/Dockerfile b/grass-gis-test-docker/Dockerfile index 8f5cba2..bcccbad 100644 --- a/grass-gis-test-docker/Dockerfile +++ b/grass-gis-test-docker/Dockerfile @@ -8,10 +8,14 @@ COPY test-docker/test.sh /src RUN test -e test-docker/ && rm -rf test-docker/ -RUN apk add gcc make python3-dev musl-dev linux-headers - -# create environment to install requirements -RUN python -m venv addon-env +# Pin Python to 3.12 (from Alpine 3.20 compat repo) to avoid the +# multiprocessing forkserver regression in Python 3.14 which breaks +# GRASS's temporal RPC server (grass/pygrass/rpc/base.py thread_checker). +# The forkserver address file is no longer found on Process.start() +# in Python 3.14, causing FileNotFoundError during server restart. +# See: https://github.com/mundialis/v.alkis.buildings.import/pull/30 +RUN apk add --no-cache python3.12 py3.12-pip python3.12-dev gcc make musl-dev linux-headers +RUN python3.12 -m venv addon-env ENV PATH="/src/addon-env/bin:$PATH" RUN test -e requirements.txt && pip3 install -r requirements.txt || echo "No requirements.txt"