ci(flatpak): add Flatpak support with metainfo and asset validation

Entire-Checkpoint: 21b9b9f90f23
This commit is contained in:
4gray committed 2026-04-12 12:13:05 +02:00
1 parent b9ab4d5ab5
commit 1136e9abac
8 files changed
+105 -1

No files matched your search

+23 -1
View File
@@ -49,7 +49,7 @@ jobs:
if: matrix.os == 'linux'
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y rpm libarchive-tools flatpak flatpak-builder
sudo apt-get install --no-install-recommends -y rpm libarchive-tools flatpak flatpak-builder appstream
# Configure Flatpak
# 1. Add the Flathub repository (source of runtimes)
@@ -68,6 +68,27 @@ jobs:
- name: Build backend
run: pnpm run build:backend
- name: Validate AppStream metadata
if: matrix.os == 'linux'
run: appstreamcli validate --pedantic --no-net apps/electron-backend/linux/com.fourgray.iptvnator.metainfo.xml
- name: Build website
if: matrix.os == 'linux'
run: pnpm nx build website --skip-nx-cache
- name: Verify AppStream website assets
if: matrix.os == 'linux'
shell: bash
run: |
set -euo pipefail
for screenshot in player playlists epg settings; do
if ! find dist/apps/website -path "*/appstream/${screenshot}.png" -print -quit | grep -q .; then
echo "::error::Missing AppStream website asset for ${screenshot}.png"
exit 1
fi
done
- name: Override macOS arch in electron-builder.json
if: matrix.os == 'macos'
run: |
@@ -241,6 +262,7 @@ jobs:
fi
flatpak install --user --noninteractive -y "${FLATPAK_BUNDLE}"
flatpak run --command=sh com.fourgray.iptvnator -c 'test -f /app/share/metainfo/com.fourgray.iptvnator.metainfo.xml'
flatpak run --command=sh com.fourgray.iptvnator -c '/app/bin/iptvnator --version'
- name: Upload artifacts (macOS)