diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 53b55a4..3a90c28 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,3 +40,21 @@ jobs: ctest --test-dir build --output-on-failure "$(/usr/lib/qt6/bin/qtpaths6 --query QT_INSTALL_BINS)/qmllint" src/qml/Main.qml src/qml/components/*.qml src/qml/theme/BearTheme.qml ' + + flatpak-build: + runs-on: ubuntu-24.04 + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Build Flatpak manifest + run: | + set -euo pipefail + sudo apt-get update + sudo apt-get install -y flatpak flatpak-builder + flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo + flatpak install --user -y flathub org.kde.Sdk//6.10 org.kde.Platform//6.10 + flatpak-builder --user --force-clean flatpak_build de.nerdbear.bearwave.json + grep -q '"runtime-version" : "6.10"' flatpak_build/files/manifest.json + test "$(grep '^runtime=' flatpak_build/metadata)" = "runtime=org.kde.Platform/x86_64/6.10" diff --git a/de.nerdbear.bearwave.json b/de.nerdbear.bearwave.json new file mode 100644 index 0000000..64f377f --- /dev/null +++ b/de.nerdbear.bearwave.json @@ -0,0 +1,34 @@ +{ + "app-id": "de.nerdbear.bearwave", + "runtime": "org.kde.Platform", + "runtime-version": "6.10", + "sdk": "org.kde.Sdk", + "command": "bearwave", + "finish-args": [ + "--share=network", + "--socket=wayland", + "--socket=fallback-x11", + "--socket=pulseaudio", + "--own-name=org.mpris.MediaPlayer2.bearwave", + "--talk-name=org.freedesktop.Notifications", + "--talk-name=org.kde.StatusNotifierWatcher", + "--share=ipc" + ], + "modules": [ + { + "name": "bearwave", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=Release", + "-DBEARWAVE_BUILD_TESTS=OFF" + ], + "sources": [ + { + "type": "dir", + "path": "." + } + ] + } + ] +} \ No newline at end of file diff --git a/scripts/build-flatpak.sh b/scripts/build-flatpak.sh new file mode 100755 index 0000000..46da2f9 --- /dev/null +++ b/scripts/build-flatpak.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +cd "$root" + +flatpak-builder --repo=flatpak_repo --force-clean flatpak_build de.nerdbear.bearwave.json +flatpak build-update-repo flatpak_repo + +echo "Flatpak repo updated in flatpak_repo/. Deploy it to flatpak.bearwave.app." \ No newline at end of file