ci(runner): adopt exact CodeChecker Dockerfile base and append NSIS/Python build toolchains
CI Test Suite / Run Component Tests & Pipeline Verification (push) Canceled after 0s
Release Binaries & Packages / Build & Release Standalone Binaries (Linux & Windows Cross-Compilation) (push) Canceled after 0s
Build and Push LOGAR Runner / Build & Push Runner Image (push) Canceled after 0s

This commit is contained in:
2026-09-26 18:44:18 +02:00
parent 2c9f8d9b91
commit 267aa54076
+46 -35
View File
@@ -1,43 +1,53 @@
FROM ubuntu:22.04 FROM ubuntu:22.04
LABEL maintainer="me0nline <me0nline@eibl.tech>" ENV DEBIAN_FRONTEND=noninteractive
LABEL description="LOGAR Standalone CI/CD & Binary Release Runner"
ENV DEBIAN_FRONTEND=noninteractive \ # ── System packages ────────────────────────────────────────────────────────────
PYTHONUNBUFFERED=1 \ RUN apt-get update -qq && apt-get install -y -qq \
LANG=C.UTF-8 \ # Basics
LC_ALL=C.UTF-8 curl wget git ca-certificates gnupg lsb-release unzip zip tar gzip \
# Python & Build headers (needed for PyInstaller shared libraries)
python3 python3-pip python3-venv python3-dev libpython3-dev libffi-dev libssl-dev \
# Java (for SpotBugs)
default-jdk \
# C/C++ analysis & Build tools
clang clang-tidy cppcheck bear make cmake build-essential gcc binutils \
# NSIS (for Windows setup installer cross-compilation)
nsis nsis-common nsis-pluginapi \
# Misc
jq \
&& rm -rf /var/lib/apt/lists/*
# Install system utilities, Node.js (for Act / Actions), build tools, NSIS, and Python # ── PowerShell ─────────────────────────────────────────────────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN curl -sSL https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -o /tmp/packages-microsoft-prod.deb \
ca-certificates \ && dpkg -i /tmp/packages-microsoft-prod.deb \
curl \ && rm /tmp/packages-microsoft-prod.deb \
wget \ && apt-get update -qq \
git \ && apt-get install -y -qq powershell \
tar \ && rm -rf /var/lib/apt/lists/*
gzip \
zip \
unzip \
build-essential \
gcc \
make \
nodejs \
npm \
nsis \
nsis-common \
nsis-pluginapi \
python3 \
python3-dev \
libpython3-dev \
python3-pip \
python3-venv \
libffi-dev \
libssl-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Install PyInstaller and LOGAR packaging requirements # ── PSScriptAnalyzer ───────────────────────────────────────────────────────────
RUN pip3 install --no-cache-dir \ RUN pwsh -Command "Install-Module -Name PSScriptAnalyzer -Force -Scope AllUsers"
# ── SpotBugs ───────────────────────────────────────────────────────────────────
RUN wget -q https://github.com/spotbugs/spotbugs/releases/download/4.8.6/spotbugs-4.8.6.tgz \
-O /tmp/spotbugs.tgz \
&& tar -xf /tmp/spotbugs.tgz -C /opt/ \
&& rm /tmp/spotbugs.tgz \
&& ln -s /opt/spotbugs-4.8.6/bin/spotbugs /usr/local/bin/spotbugs
# ── Node (needed by act_runner internals) ─────────────────────────────────────
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y -qq nodejs \
&& rm -rf /var/lib/apt/lists/*
# ── Python packages ────────────────────────────────────────────────────────────
RUN pip3 install --quiet --no-cache-dir \
codechecker \
pylint \
pyflakes \
vunit-hdl \
# LOGAR Packaging & Dependencies
pyinstaller \ pyinstaller \
distlib \ distlib \
cryptography \ cryptography \
@@ -49,6 +59,7 @@ RUN pip3 install --no-cache-dir \
pydantic \ pydantic \
requests requests
# Runner runs as root inside the container
WORKDIR /workspace WORKDIR /workspace
CMD ["/bin/bash"] CMD ["/bin/bash"]