Note fixed jellyfin cover integration in changelog #280
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Linux app | |
on: | |
push: | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up Python | |
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 \ | |
gir1.2-rsvg-2.0 \ | |
kde-config-gtk-style \ | |
libcanberra-gtk3-module \ | |
libgirepository1.0-dev \ | |
python3-gi-cairo \ | |
libayatana-appindicator3-dev \ | |
libcairo2-dev \ | |
libpipewire-0.3-dev \ | |
libdbus-1-dev \ | |
libjxl-dev \ | |
libflac-dev \ | |
libgme-dev \ | |
libmpg123-dev \ | |
libopenmpt-dev \ | |
libopusfile-dev \ | |
libsamplerate0-dev \ | |
libsdl2-image-dev \ | |
libvorbis-dev \ | |
libwavpack-dev \ | |
p7zip | |
# JPEG-XL hack since 24.04 is too old | |
sudo apt-get install -y \ | |
libgif7 \ | |
wget | |
wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jpeg-xl/libjxl-dev_0.10.3-4ubuntu1_amd64.deb | |
wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jpeg-xl/libjxl0.10_0.10.3-4ubuntu1_amd64.deb | |
wget http://mirrors.kernel.org/ubuntu/pool/universe/h/highway/libhwy-dev_1.2.0-3ubuntu2_amd64.deb | |
wget http://mirrors.kernel.org/ubuntu/pool/universe/h/highway/libhwy1t64_1.2.0-3ubuntu2_amd64.deb | |
wget http://mirrors.kernel.org/ubuntu/pool/main/l/lcms2/liblcms2-dev_2.14-2build1_amd64.deb | |
sudo dpkg -i *.deb | |
- 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.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: Remove libwayland*.so files due to https://github.com/pyinstaller/pyinstaller/issues/8963 | |
run: rm ./dist/TauonMusicBox/_internal/libwayland* | |
- name: Create 7Z | |
run: | | |
APP_NAME="TauonMusicBox" | |
cd "dist/${APP_NAME}" | |
ARCHIVE_PATH="../../${APP_NAME}.7z" | |
7z a -r "${ARCHIVE_PATH}" "." | |
- name: Upload 7Z artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: TauonMusicBox-linux | |
path: TauonMusicBox.7z |