Skip to content

pyinstaller builds for macOS and Linux in the CI #13

pyinstaller builds for macOS and Linux in the CI

pyinstaller builds for macOS and Linux in the CI #13

Workflow file for this run

name: Build Linux app
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Install deps
run: |
sudo apt-get update
sudo apt-get install -y \
gettext \
gobject-introspection \
libgirepository1.0-dev \
python3-gi-cairo \
libcairo2-dev \
libpipewire-0.3-dev \
libdbus-1-dev \
libjxl-dev
- name: Install Python dependencies and setup venv
run: |
python -m pip install --upgrade pip
python -m venv .venv
source .venv/bin/activate
pip install \
-r requirements_unified.txt
build \
pyinstaller
- name: Build the project using python-build
run: |
source .venv/bin/activate
python -m compile_translations
python -m build --wheel
- name: Install the project into a venv
run: |
source .venv/bin/activate
pip install --prefix ".venv" dist/*.whl
- name: "[DEBUG] List all files"
run: find .
- name: Build Linux App with PyInstaller
run: |
source .venv/bin/activate
pyinstaller --log-level=DEBUG linux.spec
- name: Create DMG
run: |
mkdir -p dist/dmg
APP_NAME="TauonMusicBox"
APP_PATH="dist/${APP_NAME}"
ZIP_PATH="dist/dmg/${APP_NAME}.zip"
zip -r "${ZIP_PATH}" "${APP_PATH}"
- name: Upload DMG artifact
uses: actions/upload-artifact@v4
with:
name: TauonMusicBox-linux
path: dist/dmg/TauonMusicBox.zip