@@ -102,15 +102,78 @@ jobs:
102102 name : ${{ runner.os }}-${{ runner.arch }}-release-artifacts
103103 path : artifacts/*
104104
105+ build_debian_bookworm :
106+ name : Build Debian 13 (bookworm) release artifacts
107+ runs-on : ubuntu-latest
108+ container :
109+ image : debian:bookworm
110+ steps :
111+ - name : Checkout
112+ uses : actions/checkout@v4
113+
114+ - name : Install system dependencies (Debian)
115+ shell : bash
116+ run : |
117+ set -euo pipefail
118+ apt-get update
119+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
120+ python3 python3-pip python3-venv ca-certificates git \
121+ build-essential patchelf libgl1 libglib2.0-0 \
122+ qt6-base-dev qt6-base-dev-tools || true
123+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
124+ qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake || true
125+ update-ca-certificates || true
126+
127+ - name : Check qmake (Debian)
128+ shell : bash
129+ run : |
130+ set -euo pipefail
131+ which qmake6 || true
132+ which qmake || true
133+ qmake6 --version || true
134+ qmake --version || true
135+ if command -v qmake6 >/dev/null 2>&1; then echo "QMAKE=$(which qmake6)" >> $GITHUB_ENV;
136+ elif command -v qmake >/dev/null 2>&1; then echo "QMAKE=$(which qmake)" >> $GITHUB_ENV; fi
137+
138+ - name : Install Python packages (Debian)
139+ shell : bash
140+ run : |
141+ python3 -m pip install --upgrade pip
142+ if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt; else python3 -m pip install PyQt6; fi
143+ python3 -m pip install pyinstaller requests ffmpeg-python
144+
145+ - name : Build PyQt6 app (Debian)
146+ shell : bash
147+ run : |
148+ pyinstaller --name WINFF-GUI-PyQt6 --noconfirm --onefile --windowed GUI_pyqt6_WINFF.py
149+
150+ - name : Build Tkinter app (Debian)
151+ shell : bash
152+ run : |
153+ pyinstaller --name WINFF-GUI-Tkinter --noconfirm --onefile --windowed GUI_tkinter_WINFF.py
154+
155+ - name : Package artifacts (Debian)
156+ shell : bash
157+ run : |
158+ mkdir -p artifacts
159+ cp dist/WINFF-GUI-PyQt6 artifacts/WINFF-GUI-PyQt6-debian-x64
160+ cp dist/WINFF-GUI-Tkinter artifacts/WINFF-GUI-Tkinter-debian-x64
161+
162+ - name : Upload artifacts (Debian)
163+ uses : actions/upload-artifact@v4
164+ with :
165+ name : Debian-release-artifacts
166+ path : artifacts/*
167+
105168 publish :
106169 name : Publish GitHub Release
107170 runs-on : ubuntu-latest
108- needs : build
171+ needs : [ build, build_debian_bookworm]
109172 steps :
110173 - name : Download all artifacts
111174 uses : actions/download-artifact@v4
112175 with :
113- pattern : " *-release-artifacts"
176+ pattern : " *-release-artifacts|Debian-release-artifacts "
114177 merge-multiple : true
115178 path : release-assets
116179
0 commit comments