revert: roll back flatpak packaging experiment (#271 + follow-ups) (#297)

Reverts #271, #292, #293, #294, #295, #296.

The flatpak CI pipeline itself works end-to-end, but the installed bundle
surfaced three separate manifest issues during smoke-test on Wayland+NVIDIA:

1. GDK_BACKEND is not set, so without an X11 display in the sandbox GTK
   aborts with "Failed to initialize GTK".
2. libayatana-appindicator3 is not bundled in the GNOME 47 runtime, so
   libappindicator-sys panics the main thread.
3. The release binary is compiled via \`cargo build --release\` rather than
   \`cargo tauri build\`, so the \`custom-protocol\` feature is off and
   Tauri falls back to devUrl — the window opens but shows
   "Could not connect to localhost".

Rolling back so main stays on 1.43.0. A follow-up on the original PR
tracks the fixes needed before re-attempting.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Frank Stellmacher
2026-04-24 22:50:06 +02:00
committed by GitHub
parent dd947df0b9
commit 67d51a0975
11 changed files with 20 additions and 316 deletions
-79
View File
@@ -73,7 +73,6 @@ jobs:
build-macos-windows:
needs: create-release
if: false # TEMP: flatpak-only test run
permissions:
contents: write
strategy:
@@ -164,7 +163,6 @@ jobs:
generate-manifest:
needs: [create-release, build-macos-windows]
if: false # TEMP: flatpak-only test run
runs-on: ubuntu-24.04
permissions:
contents: write
@@ -184,7 +182,6 @@ jobs:
build-linux:
needs: create-release
if: false # TEMP: flatpak-only test run
permissions:
contents: write
runs-on: ubuntu-24.04
@@ -231,81 +228,6 @@ jobs:
\( -name "*.deb" -o -name "*.rpm" -o -name "*.AppImage" \) \
| xargs gh release upload "app-v${VERSION}" --clobber
build-flatpak:
needs: create-release
permissions:
contents: write
runs-on: ubuntu-24.04
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-47
options: --privileged
steps:
- uses: actions/checkout@v5
# Container runs as root but the checkout is owned by the runner user;
# without this, any later `git` (including gh release upload's internal
# git probe) aborts with "dubious ownership".
- name: mark workspace as safe for git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: install source-generation tools
run: |
dnf install -y python3-pip python3-aiohttp
pip3 install --break-system-packages tomlkit
- name: install flatpak-builder-tools
run: |
git clone --depth=1 \
https://github.com/flatpak/flatpak-builder-tools.git \
/tmp/flatpak-builder-tools
# cargo generator: still a single script
# node generator: now a proper Python package, install via pip
pip3 install --break-system-packages \
/tmp/flatpak-builder-tools/node
- name: generate cargo offline sources
run: |
python3 /tmp/flatpak-builder-tools/cargo/flatpak-cargo-generator.py \
src-tauri/Cargo.lock -o packages/flatpak/cargo-sources.json
- name: generate npm offline sources
run: |
flatpak-node-generator npm package-lock.json \
-o packages/flatpak/npm-sources.json
- name: patch manifest for this release
# The `app-v*` tag only materialises when the Draft release is published,
# so it is not a real git ref during CI. Use the triggering `v*` tag
# and its commit sha directly — both exist when the workflow runs.
env:
TRIGGER_TAG: ${{ github.ref_name }}
TRIGGER_SHA: ${{ github.sha }}
run: |
sed -i \
-e "s|tag: app-v.*|tag: ${TRIGGER_TAG}|" \
-e "s|commit: PLACEHOLDER_COMMIT|commit: ${TRIGGER_SHA}|" \
-e "s|VITE_LASTFM_API_KEY=__LASTFM_KEY__|VITE_LASTFM_API_KEY=${{ secrets.VITE_LASTFM_API_KEY }}|" \
-e "s|VITE_LASTFM_API_SECRET=__LASTFM_SECRET__|VITE_LASTFM_API_SECRET=${{ secrets.VITE_LASTFM_API_SECRET }}|" \
packages/flatpak/dev.psysonic.Psysonic.yml
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: Psysonic_${{ needs.create-release.outputs.package_version }}.flatpak
manifest-path: packages/flatpak/dev.psysonic.Psysonic.yml
cache-key: flatpak-${{ github.sha }}
- name: install gh CLI
run: dnf install -y gh
- name: upload flatpak bundle to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION=${{ needs.create-release.outputs.package_version }}
gh release upload "app-v${VERSION}" \
"Psysonic_${VERSION}.flatpak" \
--clobber
# Verifies that `nix build .#psysonic` still works against the current source,
# refreshes `nix/upstream-sources.json` (npmDepsHash) + `flake.lock`
# (nixpkgs pin), and pushes the resulting store paths to the public Cachix
@@ -315,7 +237,6 @@ jobs:
# The refreshed lock/hash files are committed back to `main` when they change.
verify-nix:
needs: create-release
if: false # TEMP: flatpak-only test run
runs-on: ubuntu-24.04
permissions:
contents: write