ci(runner): clean up Dockerfile by stripping unused Java, PowerShell, SpotBugs, and Clang toolchains
Release Binaries & Packages / Build & Release Standalone Binaries (Linux & Windows Cross-Compilation) (push) Canceled after 0s
CI Test Suite / Run Component Tests & Pipeline Verification (push) Successful in 2m3s
Build and Push LOGAR Runner / Build & Push Runner Image (push) Successful in 11m40s
Release Binaries & Packages / Build & Release Standalone Binaries (Linux & Windows Cross-Compilation) (push) Canceled after 0s
CI Test Suite / Run Component Tests & Pipeline Verification (push) Successful in 2m3s
Build and Push LOGAR Runner / Build & Push Runner Image (push) Successful in 11m40s
This commit is contained in:
+43
-44
@@ -1,65 +1,64 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
LABEL maintainer="me0nline <me0nline@eibl.tech>"
|
||||
LABEL description="LOGAR CI/CD, Binary Packaging & Release Runner"
|
||||
|
||||
# ── System packages ────────────────────────────────────────────────────────────
|
||||
RUN apt-get update -qq && apt-get install -y -qq \
|
||||
# Basics
|
||||
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/*
|
||||
ENV DEBIAN_FRONTEND=noninteractive \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
LANG=C.UTF-8 \
|
||||
LC_ALL=C.UTF-8
|
||||
|
||||
# ── PowerShell ─────────────────────────────────────────────────────────────────
|
||||
RUN curl -sSL https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -o /tmp/packages-microsoft-prod.deb \
|
||||
&& dpkg -i /tmp/packages-microsoft-prod.deb \
|
||||
&& rm /tmp/packages-microsoft-prod.deb \
|
||||
&& apt-get update -qq \
|
||||
&& apt-get install -y -qq powershell \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
# ── 1. Core System Tools, Python Dev Headers & NSIS Compiler ───────────────────
|
||||
RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends \
|
||||
# Basic utilities
|
||||
ca-certificates \
|
||||
curl \
|
||||
wget \
|
||||
git \
|
||||
tar \
|
||||
gzip \
|
||||
zip \
|
||||
unzip \
|
||||
# Native compilation toolchains
|
||||
build-essential \
|
||||
gcc \
|
||||
make \
|
||||
# Python 3 & dynamic shared libraries (required for PyInstaller standalone binaries)
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-venv \
|
||||
python3-dev \
|
||||
libpython3-dev \
|
||||
libffi-dev \
|
||||
libssl-dev \
|
||||
# NSIS (for compiling Windows Setup executables on Linux)
|
||||
nsis \
|
||||
nsis-common \
|
||||
nsis-pluginapi \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
# ── PSScriptAnalyzer ───────────────────────────────────────────────────────────
|
||||
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) ─────────────────────────────────────
|
||||
# ── 2. Node.js 20 LTS (required for Act / Gitea Actions runners) ───────────────
|
||||
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
||||
&& apt-get install -y -qq nodejs \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
# ── Python packages ────────────────────────────────────────────────────────────
|
||||
RUN pip3 install --quiet --no-cache-dir \
|
||||
codechecker \
|
||||
pylint \
|
||||
pyflakes \
|
||||
vunit-hdl \
|
||||
# LOGAR Packaging & Dependencies
|
||||
# ── 3. Pre-installed Python Build & Application Dependencies ───────────────────
|
||||
RUN pip3 install --no-cache-dir \
|
||||
# Binary compiler & PE packaging tools
|
||||
pyinstaller \
|
||||
distlib \
|
||||
cryptography \
|
||||
pefile \
|
||||
cffi \
|
||||
# LOGAR core dependencies
|
||||
pgpy \
|
||||
fastapi \
|
||||
uvicorn \
|
||||
pydantic \
|
||||
requests
|
||||
requests \
|
||||
# Code quality / linter
|
||||
flake8
|
||||
|
||||
# Runner runs as root inside the container
|
||||
WORKDIR /workspace
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ This directory contains the Docker configuration for the custom **LOGAR Build &
|
||||
|
||||
## Included Toolchains & Dependencies
|
||||
|
||||
- **Operating System**: Debian 12 (Bookworm)
|
||||
- **Operating System**: Ubuntu 22.04 LTS
|
||||
- **Python Development**:
|
||||
- `python3`, `python3-dev`, `libpython3-dev` (shared libraries for native ELF compilation)
|
||||
- `python3-pip`, `python3-venv`, `python3-setuptools`, `python3-wheel`
|
||||
|
||||
Reference in New Issue
Block a user