CI: Windows-Build und Installer ueber Wine-Docker-Image (kein Windows-Runner noetig)

This commit is contained in:
2026-09-06 22:45:43 +00:00
parent 3f20bc392c
commit aef3138cdd
+11 -23
View File
@@ -8,34 +8,22 @@ on:
jobs: jobs:
build: build:
runs-on: windows-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Python - name: Build EXE + Installer (Wine)
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: | run: |
python -m pip install --upgrade pip docker pull cdrx/pyinstaller-windows:python3
python -m pip install -r requirements-build.txt docker run --rm -v "$(pwd):/src" -e SRCDIR=/src cdrx/pyinstaller-windows:python3 \
python scripts\make_icon.py "pyinstaller --clean -y --noconfirm --onefile --windowed --name PulseGate --icon assets/pulsegate.ico --distpath dist/windows --workpath /tmp desktop/pulsegate_desktop.py; \
cp dist/windows/PulseGate.exe dist/PulseGate.exe; \
- name: Build EXE (PyInstaller) apt-get update -qq >/dev/null 2>&1 && apt-get install -y -qq xvfb >/dev/null 2>&1; \
run: | curl -sL -o /tmp/is.exe https://github.com/jrsoftware/issrc/releases/download/is-7_1_0/innosetup-7.1.0-x64.exe; \
python -m PyInstaller --noconfirm --clean --onefile --windowed --name PulseGate --icon assets\pulsegate.ico desktop\pulsegate_desktop.py xvfb-run -a wine /tmp/is.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART; \
Get-Item dist\PulseGate.exe | Select-Object FullName, Length cd /src/installer && xvfb-run -a wine '/wine/drive_c/Program Files/Inno Setup 7/ISCC.exe' 'Z:\src\installer\installer.iss'; \
chown -R $(id -u):$(id -g) /src/dist /src/installer/output"
- name: Install Inno Setup
shell: bash
run: |
choco install innosetup --no-progress --yes
- name: Build installer
run: iscc installer\installer.iss
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4