fix(release): install python shared libraries for PyInstaller and add zipapp fallback
Release Binaries & Installers / Build & Release Windows Binaries & Installers (push) Failing after 30s
Release Binaries & Installers / Build & Release Linux Binaries (push) Canceled after 0s
CI Test Suite / Run Component Tests & Pipeline Verification (push) Canceled after 0s

This commit is contained in:
2026-09-25 23:15:31 +02:00
parent a9d5d641cd
commit 14b3586b10
2 changed files with 17 additions and 5 deletions
+9 -1
View File
@@ -21,8 +21,16 @@ jobs:
with:
fetch-depth: 0
- name: Install Python and Build Dependencies
- name: Install System and Python Build Dependencies
run: |
if command -v apt-get >/dev/null 2>&1; then
echo "[*] Installing Python shared libraries and headers for PyInstaller..."
SUDO=""
if [ "$(id -u)" -ne 0 ] && command -v sudo >/dev/null 2>&1; then
SUDO="sudo"
fi
$SUDO apt-get update && $SUDO apt-get install -y --no-install-recommends python3-dev libpython3-dev python3-all-dev "libpython3.*" || true
fi
python3 compilation/ensure_pip.py
python3 -m pip install --upgrade pip --break-system-packages 2>/dev/null || python3 -m pip install --upgrade pip 2>/dev/null || true
python3 -m pip install pyinstaller -r compilation/requirements.txt --break-system-packages 2>/dev/null || python3 -m pip install pyinstaller -r compilation/requirements.txt
+8 -4
View File
@@ -112,11 +112,15 @@ def build_linux():
is_linux_host = platform.system() == "Linux"
if is_linux_host:
linux_client_script = os.path.join(SRC_DIR, "Linux_Client.py")
build_pyinstaller_binary(linux_client_script, "Linux_Client.bin")
try:
linux_client_script = os.path.join(SRC_DIR, "Linux_Client.py")
build_pyinstaller_binary(linux_client_script, "Linux_Client.bin")
server_script = os.path.join(SRC_DIR, "Server.py")
build_pyinstaller_binary(server_script, "Server.bin")
server_script = os.path.join(SRC_DIR, "Server.py")
build_pyinstaller_binary(server_script, "Server.bin")
except Exception as e:
print(f"[!] PyInstaller compilation encountered an issue ({e}). Falling back to standalone zipapp packaging...")
build_linux_zipapp_fallback()
# Normalize extensions in case PyInstaller dropped .bin
for name in ["Linux_Client", "Server"]: