@@ -160,38 +160,27 @@ jobs:
160160 os : ubuntu-latest
161161 binary-artifact : ginan-linux-x64
162162 gui-artifact : ginan-gui-linux-x64
163- ui-sed-cmd : sed -i '24s/.*/from scripts.GinanUI.app.resources import ginan_logo_rc/' app/views/main_window_ui.py
164163 pyinstaller-args : --windowed
165164 extra-steps : " "
166165
167166 - name : macOS ARM64
168167 os : macos-15
169168 binary-artifact : ginan-macos-arm64
170169 gui-artifact : ginan-gui-macos-arm64
171- ui-sed-cmd : sed -i '' '24s/.*/from scripts.GinanUI.app.resources import ginan_logo_rc/' app/views/main_window_ui.py
172170 pyinstaller-args : --onedir --clean --target-arch arm64 --noconfirm
173171 extra-steps : macos
174172
175173 - name : macOS x64
176174 os : macos-15-intel
177175 binary-artifact : ginan-macos-x64
178176 gui-artifact : ginan-gui-macos-x64
179- ui-sed-cmd : sed -i '' '24s/.*/from scripts.GinanUI.app.resources import ginan_logo_rc/' app/views/main_window_ui.py
180177 pyinstaller-args : --onedir --clean --noconfirm
181178 extra-steps : macos
182179
183180 - name : Windows x64
184181 os : windows-latest
185182 binary-artifact : ginan-windows-x64
186183 gui-artifact : ginan-gui-windows-x64
187- ui-sed-cmd : |
188- (Get-Content app/views/main_window_ui.py) | ForEach-Object {
189- if ($_.ReadCount -eq 24) {
190- "from scripts.GinanUI.app.resources import ginan_logo_rc"
191- } else {
192- $_
193- }
194- } | Set-Content app/views/main_window_ui.py
195184 pyinstaller-args : --windowed
196185 pyinstaller-separator : " ;"
197186 extra-steps : " "
@@ -221,20 +210,9 @@ jobs:
221210 pip install -r scripts/GinanUI/requirements.txt
222211 pip install pyinstaller
223212
224- - name : Convert UI files to Python (Unix)
225- if : runner.os != 'Windows'
213+ - name : Convert UI files to Python
226214 working-directory : scripts/GinanUI
227- run : |
228- pyside6-uic app/views/main_window.ui -o app/views/main_window_ui.py
229- ${{ matrix.ui-sed-cmd }}
230-
231- - name : Convert UI files to Python (Windows)
232- if : runner.os == 'Windows'
233- working-directory : scripts/GinanUI
234- shell : pwsh
235- run : |
236- pyside6-uic app/views/main_window.ui -o app/views/main_window_ui.py
237- ${{ matrix.ui-sed-cmd }}
215+ run : python app/utils/ui_compilation.py
238216
239217 - name : Make binaries executable (Unix)
240218 if : runner.os != 'Windows'
@@ -292,14 +270,17 @@ jobs:
292270 run : |
293271 python -m PyInstaller --name GinanUI \
294272 ${{ matrix.pyinstaller-args }} \
295- --add-data "scripts/GinanUI/app:app" \
273+ --add-data "scripts/GinanUI/app:scripts/GinanUI/app" \
274+ --add-data "scripts/GinanUI/docs:scripts/GinanUI/docs" \
296275 --add-data "scripts/plot_pos.py:scripts" \
276+ --add-data "scripts/plot_trace_res.py:scripts" \
297277 --add-binary "bin/*:bin" \
298278 --hidden-import PySide6 \
299279 --hidden-import PySide6.QtWebEngineWidgets \
300280 --hidden-import PySide6.QtWebEngineCore \
301281 --hidden-import plotly \
302282 --hidden-import scripts.plot_pos \
283+ --hidden-import scripts.plot_trace_res \
303284 --hidden-import scripts.GinanUI.app \
304285 --hidden-import scripts.GinanUI.app.models \
305286 --hidden-import scripts.GinanUI.app.models.execution \
@@ -314,22 +295,24 @@ jobs:
314295 --hidden-import scripts.GinanUI.app.utils.gn_functions \
315296 --hidden-import scripts.GinanUI.app.utils.yaml \
316297 --hidden-import scripts.GinanUI.app.views.main_window_ui \
317- --collect-all scripts.GinanUI \
318298 scripts/GinanUI/main.py
319299
320300 - name : Build GUI with PyInstaller (Windows)
321301 if : runner.os == 'Windows'
322302 run : |
323303 pyinstaller --name GinanUI `
324304 ${{ matrix.pyinstaller-args }} `
325- --add-data "scripts/GinanUI/app;app" `
305+ --add-data "scripts/GinanUI/app;scripts/GinanUI/app" `
306+ --add-data "scripts/GinanUI/docs;scripts/GinanUI/docs" `
326307 --add-data "scripts/plot_pos.py;scripts" `
308+ --add-data "scripts/plot_trace_res.py;scripts" `
327309 --add-binary "bin/*;bin" `
328310 --hidden-import PySide6 `
329311 --hidden-import PySide6.QtWebEngineWidgets `
330312 --hidden-import PySide6.QtWebEngineCore `
331313 --hidden-import plotly `
332314 --hidden-import scripts.plot_pos `
315+ --hidden-import scripts.plot_trace_res `
333316 --hidden-import scripts.GinanUI.app `
334317 --hidden-import scripts.GinanUI.app.models `
335318 --hidden-import scripts.GinanUI.app.models.execution `
@@ -344,7 +327,6 @@ jobs:
344327 --hidden-import scripts.GinanUI.app.utils.gn_functions `
345328 --hidden-import scripts.GinanUI.app.utils.yaml `
346329 --hidden-import scripts.GinanUI.app.views.main_window_ui `
347- --collect-all scripts.GinanUI `
348330 scripts/GinanUI/main.py
349331
350332 # Post-build cleanup
0 commit comments