diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 29cfced..c4af4fb 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -22,11 +22,10 @@ jobs: with: fetch-depth: 0 - - name: Install Dependencies + - name: Verify Environment run: | - 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 -r compilation/requirements.txt --break-system-packages 2>/dev/null || python3 -m pip install -r compilation/requirements.txt + python3 --version + python3 -c "import pgpy, fastapi, uvicorn, websockets, sqlalchemy; print('[+] All required dependencies are pre-installed in runner image.')" - name: Verify Python Syntax run: | diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 42d13ad..de075b5 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -23,44 +23,13 @@ jobs: with: fetch-depth: 0 - - name: Install System and Cross-Compilation Build Dependencies + - name: Verify Builder Runner Environment run: | - echo "=== SYSTEM DIAGNOSTICS ===" - uname -a || true - python3 --version || true - SUDO="" - if [ "$(id -u)" -ne 0 ] && command -v sudo >/dev/null 2>&1; then - SUDO="sudo" - fi - if command -v apt-get >/dev/null 2>&1; then - echo "[*] Installing Python shared libraries, headers, NSIS via apt-get..." - export DEBIAN_FRONTEND=noninteractive - $SUDO apt-get clean || true - $SUDO apt-get update --allow-releaseinfo-change -o Acquire::Check-Valid-Until=false -y || $SUDO apt-get update -y || true - $SUDO apt-get -f install -y || true - PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')" 2>/dev/null || echo "3.9") - echo "[*] Detected Python version: ${PY_VER}" - $SUDO apt-get install -y --fix-broken --fix-missing --allow-unauthenticated --no-install-recommends \ - nsis nsis-common "libpython${PY_VER}" "libpython${PY_VER}-dev" "python${PY_VER}-dev" \ - python3-dev libpython3-dev build-essential gcc make curl tar gzip zip unzip || true - $SUDO apt-get install -y --fix-broken --fix-missing --allow-unauthenticated --no-install-recommends nsis nsis-common || true - for pkg in nsis nsis-common "libpython${PY_VER}" "libpython${PY_VER}-dev" "python${PY_VER}-dev" python3-dev libpython3-dev build-essential; do - $SUDO apt-get install -y --fix-broken --fix-missing --allow-unauthenticated --no-install-recommends "$pkg" || true - done - echo "[*] Verifying makensis:" - which makensis || echo "makensis not in PATH" - echo "[*] Verifying libpython shared library:" - find /usr/lib /usr/local/lib -name "libpython*.so*" 2>/dev/null || true - elif command -v apk >/dev/null 2>&1; then - echo "[*] Installing dependencies via apk..." - $SUDO apk add --no-cache nsis python3-dev build-base gcc make curl tar gzip zip unzip || true - elif command -v dnf >/dev/null 2>&1; then - echo "[*] Installing dependencies via dnf..." - $SUDO dnf install -y mingw32-nsis nsis python3-devel gcc make curl tar gzip zip unzip || 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 distlib cryptography -r compilation/requirements.txt --break-system-packages 2>/dev/null || python3 -m pip install pyinstaller distlib cryptography -r compilation/requirements.txt + echo "=== LOGAR BUILD RUNNER ENVIRONMENT ===" + uname -a + python3 --version + which makensis || echo "[!] Warning: makensis not found in PATH" + python3 -c "import pyinstaller, distlib, pgpy, fastapi, uvicorn, websockets, sqlalchemy; print('[+] All core build & packaging dependencies verified.')" - name: Compile Standalone Binaries (Linux & Windows) run: | diff --git a/runner/Dockerfile b/runner/Dockerfile index d661aa4..50ccca0 100644 --- a/runner/Dockerfile +++ b/runner/Dockerfile @@ -54,8 +54,13 @@ RUN pip3 install --no-cache-dir \ pgpy \ fastapi \ uvicorn \ + websockets \ pydantic \ requests \ + # Database drivers & ORM for multi-engine storage + sqlalchemy \ + psycopg2-binary \ + pymysql \ # Code quality / linter flake8