# KPN++ Builder Image (CI: pipeline trigger) # Pre-built image with GCC, CMake, Ninja, and Python dev headers for building and testing KPN++ # Build: docker build -f Dockerfile.builder -t gitea.tourolle.paris/dtourolle/kpnpp-builder:latest . # Push: docker push gitea.tourolle.paris/dtourolle/kpnpp-builder:latest FROM gcc:14 RUN apt-get update && apt-get install -y --no-install-recommends \ cmake \ ninja-build \ python3 \ python3-dev \ python3-pip \ git \ ca-certificates \ nodejs \ && rm -rf /var/lib/apt/lists/* # Pre-install MkDocs dependencies so the docs workflow does not need to pip # install at runtime. --break-system-packages is required because the Debian # base marks the environment as externally managed (PEP 668); this is safe in # a dedicated container image. COPY docs/requirements.txt /tmp/docs-requirements.txt RUN pip install --no-cache-dir --break-system-packages -r /tmp/docs-requirements.txt \ && rm /tmp/docs-requirements.txt WORKDIR /src