FROM ubuntu:24.04 ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates curl git build-essential g++ python3 python3-pip time jq \ && rm -rf /var/lib/apt/lists/* WORKDIR /work # Fetch compiler source (raw) RUN mkdir -p /src/oldcpp \ && curl -fsSL "https://git.seppjm.com/mirrors/COW/raw/branch/master/source/cowcomp.cpp" \ -o /src/oldcpp/cowcomp.cpp # Patch missing include for modern compilers (memset/strncmp) RUN grep -q '' /src/oldcpp/cowcomp.cpp || \ sed -i 's|#include |#include \n#include |' /src/oldcpp/cowcomp.cpp # Build compiler binary (cowcomp) RUN g++ -O3 -std=c++17 /src/oldcpp/cowcomp.cpp -o /usr/local/bin/cowcomp # Fetch apps repo RUN git clone --depth=1 https://git.seppjm.com/seppdroid/COW-Apps.git /apps # Install python deps for optional local debugging (not required for harness) RUN python3 -m pip install --no-cache-dir --break-system-packages psutil >/dev/null 2>&1 || true ENV COMPILER_KIND=oldcpp ENV APPS_DIR=/apps ENV OLDCPP_COMPILER=/usr/local/bin/cowcomp