@@ -38,16 +38,15 @@ jobs:
3838 try { pip cache purge } catch { Write-Host "pip cache purge failed (ignored)" }
3939
4040 - name : Build exe
41- # Explanation of --add-data:
42- # 1. "ui;ui": Copies the entire ui folder structure so imports work.
43- # 2. "style.qss;style": Copies style.qss from root to a folder named 'style' inside the app.
44- # (This ensures utils.py finds it if it looks for os.path.join('style', 'style.qss'))
41+ # Windows add-data separator is ';'
42+ # We bundle the whole folders: style/, ui/, controllers/
43+ shell : pwsh
4544 run : |
46- pyinstaller --noconfirm --clean --windowed --onefile `
45+ python -m PyInstaller --noconfirm --clean --windowed --onefile `
4746 --name "SoccerNetProAnalyzer" `
47+ --add-data "style;style" `
4848 --add-data "ui;ui" `
49- --add-data "style.qss;style" `
50- --add-data "style_day.qss;style" `
49+ --add-data "controllers;controllers" `
5150 "main.py"
5251
5352 - name : Upload artifact (manual runs only)
@@ -81,22 +80,22 @@ jobs:
8180 rm -rf build dist *.spec
8281 pip cache purge || true
8382
84- - name : Build binary
85- # Separator for add-data is ':' on macOS/Linux
83+ - name : Build app
84+ # macOS add-data separator is ':'
8685 run : |
87- pyinstaller -- noconfirm --clean --windowed --onefile \
86+ python -m PyInstaller -- noconfirm --clean --windowed \
8887 --name "SoccerNetProAnalyzer" \
88+ --add-data "style:style" \
8989 --add-data "ui:ui" \
90- --add-data "style.qss:style" \
91- --add-data "style_day.qss:style" \
90+ --add-data "controllers:controllers" \
9291 "main.py"
9392
9493 - name : Upload artifact (manual runs only)
9594 if : github.event_name == 'workflow_dispatch'
9695 uses : actions/upload-artifact@v4
9796 with :
9897 name : SoccerNetProAnalyzer-macOS
99- path : annotation_tool/dist/SoccerNetProAnalyzer
98+ path : annotation_tool/dist/SoccerNetProAnalyzer.app
10099 retention-days : 3
101100
102101 build-linux :
@@ -128,13 +127,13 @@ jobs:
128127 pip cache purge || true
129128
130129 - name : Build binary
131- # Separator for add-data is ':' on Linux
130+ # Linux add-data separator is ':'
132131 run : |
133- pyinstaller --noconfirm --clean --windowed --onefile \
132+ python -m PyInstaller --noconfirm --clean --windowed --onefile \
134133 --name "SoccerNetProAnalyzer" \
134+ --add-data "style:style" \
135135 --add-data "ui:ui" \
136- --add-data "style.qss:style" \
137- --add-data "style_day.qss:style" \
136+ --add-data "controllers:controllers" \
138137 "main.py"
139138
140139 - name : Upload artifact (manual runs only)
0 commit comments