1+ name : Generate Windows Installer
2+
3+ on :
4+ release :
5+ types : [ published ]
6+
7+ permissions :
8+ contents : write
9+
10+ jobs :
11+ generate-windows-installer :
12+ name : Generate Windows Installer
13+ runs-on : windows-latest
14+
15+ steps :
16+ - name : Git Checkout ${{github.event.release.tag_name}}
17+ uses : actions/checkout@v4
18+
19+ - name : Set up Python
20+ uses : actions/setup-python@v5
21+ with :
22+ python-version : ' 3.13'
23+
24+ - name : Install dependencies
25+ run : |
26+ python -m pip install --upgrade pip
27+ python -m pip install -r requirements.txt
28+
29+ - name : Set version number for PyInstaller
30+ run : |
31+ python.exe tools\windows-installer\generate-version-info.py ${{github.event.release.tag_name}}
32+
33+ - name : Run PyInstaller to create binaries
34+ run : |
35+ pyinstaller.exe --noconfirm turing-system-monitor.spec
36+
37+ - name : Create InnoSetup installer from generated binaries
38+ uses :
Minionguyjpro/[email protected] 39+ with :
40+ path : tools/windows-installer/turing-system-monitor.iss
41+ options : /O+
42+
43+ - name : ' 📦 Archive Windows installer'
44+ uses : actions/upload-artifact@v4
45+ with :
46+ name : turing-system-monitor_${{github.event.release.tag_name}}
47+ path : tools\windows-installer\Output\turing-system-monitor_${{github.event.release.tag_name}}.exe
48+ if-no-files-found : error
49+
50+ - name : ' 📩 Publish Windows installer to Release'
51+ run : |
52+ gh release upload ${{github.event.release.tag_name}} tools\windows-installer\Output\turing-system-monitor_${{github.event.release.tag_name}}.exe
53+ env :
54+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments