Skip to content

Commit 8fceb5c

Browse files
committed
fix: Update CI/CD to use spec file for PyInstaller builds
1 parent 89efdff commit 8fceb5c

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

.github/workflows/build-and-release.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ jobs:
3737
- name: Build Windows executable
3838
continue-on-error: true
3939
run: |
40-
pyinstaller --onefile --noconsole --name telegram-multi-account-sender --icon=assets/icons/favicon.ico --additional-hooks-dir=hooks --hidden-import=PyQt5 --hidden-import=PyQt5.QtCore --hidden-import=PyQt5.QtGui --hidden-import=PyQt5.QtWidgets --hidden-import=telethon --hidden-import=sqlmodel --hidden-import=pydantic --hidden-import=app.gui.widgets.telegram_selector main.py
40+
# Use spec file for more reliable builds
41+
pyinstaller main.spec || pyinstaller --onefile --noconsole --name telegram-multi-account-sender --icon=assets/icons/favicon.ico --additional-hooks-dir=hooks --hidden-import=PyQt5 --hidden-import=PyQt5.QtCore --hidden-import=PyQt5.QtGui --hidden-import=PyQt5.QtWidgets --hidden-import=telethon --hidden-import=sqlmodel --hidden-import=pydantic --hidden-import=app.gui.widgets.telegram_selector main.py
4142
4243
- name: Upload Windows artifacts
4344
if: success() || failure()
@@ -77,7 +78,9 @@ jobs:
7778
env:
7879
QT_QPA_PLATFORM: offscreen
7980
run: |
80-
pyinstaller --onefile --name telegram-multi-account-sender --additional-hooks-dir=hooks --hidden-import=PyQt5 --hidden-import=PyQt5.QtCore --hidden-import=PyQt5.QtGui --hidden-import=PyQt5.QtWidgets --hidden-import=telethon --hidden-import=sqlmodel --hidden-import=pydantic --hidden-import=app.gui.widgets.telegram_selector main.py
81+
# Use spec file for more reliable builds (modify console setting for Linux)
82+
sed -i 's/console=False/console=True/' main.spec || true
83+
pyinstaller main.spec || pyinstaller --onefile --name telegram-multi-account-sender --additional-hooks-dir=hooks --hidden-import=PyQt5 --hidden-import=PyQt5.QtCore --hidden-import=PyQt5.QtGui --hidden-import=PyQt5.QtWidgets --hidden-import=telethon --hidden-import=sqlmodel --hidden-import=pydantic --hidden-import=app.gui.widgets.telegram_selector main.py
8184
8285
- name: Set version for Linux build
8386
id: set_version_linux
@@ -129,11 +132,8 @@ jobs:
129132
- name: Build macOS application
130133
continue-on-error: true
131134
run: |
132-
if [ -f "assets/icons/favicon.ico" ]; then
133-
pyinstaller --windowed --name telegram-multi-account-sender --icon=assets/icons/favicon.ico --additional-hooks-dir=hooks --hidden-import=app.gui.widgets.telegram_selector main.py || pyinstaller --onefile --name telegram-multi-account-sender --additional-hooks-dir=hooks --hidden-import=app.gui.widgets.telegram_selector main.py
134-
else
135-
pyinstaller --windowed --name telegram-multi-account-sender --additional-hooks-dir=hooks --hidden-import=app.gui.widgets.telegram_selector main.py || pyinstaller --onefile --name telegram-multi-account-sender --additional-hooks-dir=hooks --hidden-import=app.gui.widgets.telegram_selector main.py
136-
fi
135+
# Use spec file for more reliable builds
136+
pyinstaller main.spec || pyinstaller --windowed --name telegram-multi-account-sender --icon=assets/icons/favicon.ico --additional-hooks-dir=hooks --hidden-import=app.gui.widgets.telegram_selector main.py || pyinstaller --onefile --name telegram-multi-account-sender --additional-hooks-dir=hooks --hidden-import=app.gui.widgets.telegram_selector main.py
137137
138138
- name: Set version for macOS build
139139
id: set_version_macos

0 commit comments

Comments
 (0)