Gitea's act_runner mangles boolean workflow_call/dispatch inputs passed
from an expression -- they arrive as false regardless of value. Declare
`push` as a string ("true"/"false") and compare with == 'true' so the
builder image is pushed on non-PR events again.
28 lines
1015 B
Ruby
28 lines
1015 B
Ruby
# KPN++ Builder Image (CI: pipeline trigger v2)
|
|
# 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
|