@@ -90,39 +90,61 @@ jobs:
90
90
permissions : write-all
91
91
steps :
92
92
- uses : actions/checkout@v3
93
- - name : Install Qt
94
- uses : jurplel/install-qt-action@v3
95
- with :
96
- version : ' 6.7.0'
97
- target : ' desktop'
98
- arch : ' win64_msvc2019_64'
99
- modules : ' qtserialport'
100
- tools : ' tools_ifw tools_opensslv3_x64'
101
- cache : true
102
- - name : Download artifact
93
+
94
+ - name : Download built executable
103
95
uses : actions/download-artifact@v4
104
96
with :
105
97
name : ${{env.EXEC}}
106
- path : gui/packaging/packages/com.vendor.product/data/
107
- - name : Download installer metadata
98
+ path : data/
99
+
100
+ - name : Download packaging metadata
108
101
uses : actions/download-artifact@v4
109
102
with :
110
103
name : package-metadata
111
- path : ${{github.workspace}}/gui/packaging
112
- - name : Get dependencies
113
- run : windeployqt.exe gui\packaging\packages\com.vendor.product\data\${{env.EXEC}} --release --force
114
- - name : Copy assets
115
- run : copy gui\assets\icon\eeprom_icon.ico gui\packaging\packages\com.vendor.product\data\eeprom_icon.ico
116
- - name : Create installer
104
+ path : ./gui/packaging
105
+
106
+ - name : Set up Python
107
+ uses : actions/setup-python@v5
108
+ with :
109
+ python-version : " 3.11"
110
+
111
+ - name : Install dependencies
112
+ run : pip install jinja2
113
+
114
+ - name : Install Qt (windeployqt)
115
+ uses : jurplel/install-qt-action@v3
116
+ with :
117
+ version : 6.9.1
118
+ host : windows
119
+ target : desktop
120
+ arch : win64_mingw
121
+ modules : qtserialport
122
+ tools : tools_mingw
123
+
124
+ - name : Run windeployqt
117
125
run : |
118
- dir ${{github.workspace}}\..\Qt\Tools\QtInstallerFramework
119
- ${{github.workspace}}\..\Qt\Tools\QtInstallerFramework\4.7\bin\binarycreator.exe -c config\config.xml -p packages ${{env.PROGNAME}}-installer-win64.exe
120
- working-directory : gui/packaging
126
+ & "${{ env.Qt6_DIR }}\bin\windeployqt.exe" data\${{ env.EXEC }} --release --force
127
+
128
+ - name : Copy icon
129
+ run : copy gui\assets\icon\eeprom_icon.ico data\
130
+
131
+ - name : Generate Inno Setup script
132
+ run : python gui/packaging/package.py
133
+
134
+ - name : Install Inno Setup
135
+ run : |
136
+ Invoke-WebRequest -Uri "https://jrsoftware.org/download.php/ispack.exe" -OutFile "ispack.exe"
137
+ Start-Process -Wait -FilePath ".\ispack.exe" -ArgumentList "/verysilent", "/norestart"
138
+ shell : powershell
139
+
140
+ - name : Build installer
141
+ run : ' "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" gui\packaging\installer\setup.iss'
142
+
121
143
- name : Upload installer
122
144
uses : actions/upload-artifact@v4
123
145
with :
124
146
name : ${{env.PROGNAME}}-installer-win64.exe
125
- path : gui/packaging/${{env.PROGNAME}}- installer-win64 .exe
147
+ path : gui/packaging/installer/* .exe
126
148
127
149
# deploy Windows installer
128
150
deploy-installer-windows :
0 commit comments