Skip to content

Commit 34edb71

Browse files
committed
feat: add executable builds for Linux, macOS, and Windows to release workflow
- Build PyInstaller executables for all platforms - Keep Python distribution packages (wheel/sdist) - Platform-specific executable naming and permissions
1 parent fa67e9f commit 34edb71

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,30 @@ jobs:
3333
run: |
3434
python -m pip install --upgrade pip
3535
pip install -r requirements.txt
36-
pip install build wheel
36+
pip install pyinstaller build wheel
3737
38-
- name: Build distribution
38+
- name: Build Python distribution
3939
run: |
4040
python -m build
4141
42+
- name: Build executable (Linux)
43+
if: matrix.os == 'ubuntu-latest'
44+
run: |
45+
pyinstaller --onefile --windowed --name=BrowserBookmarkChecker --add-data "assets:assets" --add-data "bookmark_checker/i18n:bookmark_checker/i18n" --hidden-import=PyQt6 --hidden-import=rapidfuzz --hidden-import=bs4 bookmark_checker/__main__.py
46+
chmod +x dist/BrowserBookmarkChecker
47+
48+
- name: Build executable (Windows)
49+
if: matrix.os == 'windows-latest'
50+
shell: bash
51+
run: |
52+
pyinstaller --onefile --windowed --name=BrowserBookmarkChecker --add-data "assets;assets" --add-data "bookmark_checker/i18n;bookmark_checker/i18n" --hidden-import=PyQt6 --hidden-import=rapidfuzz --hidden-import=bs4 bookmark_checker/__main__.py
53+
54+
- name: Build executable (macOS)
55+
if: matrix.os == 'macos-latest'
56+
run: |
57+
pyinstaller --onefile --windowed --name=BrowserBookmarkChecker --add-data "assets:assets" --add-data "bookmark_checker/i18n:bookmark_checker/i18n" --hidden-import=PyQt6 --hidden-import=rapidfuzz --hidden-import=bs4 bookmark_checker/__main__.py
58+
chmod +x dist/BrowserBookmarkChecker
59+
4260
- name: Upload artifacts
4361
uses: actions/upload-artifact@v4
4462
with:

0 commit comments

Comments
 (0)