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
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:
+46
-35
@@ -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"]
|
||||||
|
|||||||
Reference in New Issue
Block a user