From e6e249238e77fed856132ad703404b9ca7d6460f Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Sat, 17 Aug 2024 23:11:12 +0800 Subject: [PATCH] CI: linux AppImage build --- .github/FUNDING.yml | 1 + .github/workflows/linux.yml | 42 +++++++++++++++++++++++++++++++++++++ widget/mainwindow.cpp | 1 + 3 files changed, 44 insertions(+) create mode 100644 .github/FUNDING.yml create mode 100644 .github/workflows/linux.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..fc16bd9 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +ko_fi: blumia diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000..0fcaa70 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,42 @@ +name: Linux Package + +on: [push, pull_request, workflow_dispatch] + +jobs: + build: + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Install build dept. + run: | + sudo apt update + sudo apt install cmake qt6-base-dev qt6-tools-dev qt6-declarative-dev portaudio19-dev libopenmpt-dev + # for linuxdeploy: https://github.com/AppImage/AppImageKit/wiki/FUSE + # linuxdeploy-plugin-qt still requires qmake currently: https://github.com/linuxdeploy/linuxdeploy-plugin-qt/issues/156 + sudo add-apt-repository universe + sudo apt install libfuse2 qmake6 + - name: Get linuxdeploy + run: | + wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage + wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage + chmod +x linuxdeploy-*.AppImage + - name: Build + working-directory: ./ + run: | + cmake -B build . + cmake --build build -j + - name: Package + env: + QMAKE: /usr/bin/qmake6 + run: | + ./linuxdeploy-x86_64.AppImage --appdir AppDir -e build/pmidi -d dist/net.blumia.pineapple-tracker-player.desktop -i dist/pineapple-tracker-player.svg --icon-filename net.blumia.pineapple-tracker-player -p qt -o appimage + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: Linux-Build + path: | + "*.AppImage" + "!linuxdeploy*.AppImage" diff --git a/widget/mainwindow.cpp b/widget/mainwindow.cpp index eedf305..3bd7b0f 100644 --- a/widget/mainwindow.cpp +++ b/widget/mainwindow.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include