Scripts: Remove Flatpak manifest

As I noted in 41b8f2bf77 and #3454, I was
still undecided on how to proceed with the Flatpak going forward, and
was waiting on user feedback.

However, it appears that decision has been made for me. As of the time,
of writing, the page displays "This application is no longer available on
Flathub." "This application is no longer maintained on Flathub", and I
was not notified in any way of the removal.

No idea if this was automated (it's been ~3 months since the last push),
or manual, so I'm not pointing fingers at anyone here. But it is still
completely unprofessional on flathub's part. No other distributor would
remove applications without notifying the developer. Combined with the
constant workflow/CI breakage, new requirements being added and enforced
with little notice, and delisting of anything more than a couple years
old, I would recommend to any application developers considering
flatpak/hub and don't heavily use it themselves: don't, it ain't worth it.

No point keeping it around now, since it was only a copy of the AppImage
anyway, and if I recall correctly there's other tools that can bwrap an
AppImage if you really desire. But IMO the security argument is kinda
weak, if you don't trust the code you're running, don't run it. The app
is still interacting with the rest of the OS regardless...
This commit is contained in:
Stenzek
2025-11-06 19:46:22 +10:00
parent df4d04c868
commit d598470de2
4 changed files with 0 additions and 162 deletions

View File

@@ -1,29 +0,0 @@
name: Flathub Publish
on:
workflow_dispatch:
inputs:
flathub_branch:
description: "Flathub branch to push to"
required: true
default: "stable"
type: "choice"
options:
- "stable"
- "beta"
jobs:
linux-appimage:
name: 🐧 Linux AppImage
uses: "./.github/workflows/linux-appimage-build.yml"
linux-cross-appimage:
name: 🐧 Linux Cross-Compiled AppImage
uses: "./.github/workflows/linux-cross-appimage-build.yml"
linux-flatpak:
name: 📦 Build Flatpak
needs: [linux-appimage, linux-cross-appimage]
uses: "./.github/workflows/linux-flatpak-build.yml"
with:
flathub_publish: true
flathub_branch: ${{ inputs.flathub_branch }}
secrets: inherit

View File

@@ -1,91 +0,0 @@
name: 📦 Linux Flatpak
on:
workflow_call:
inputs:
flathub_publish:
required: false
type: boolean
default: false
flathub_branch:
required: false
type: string
default: "stable"
jobs:
linux-flatpak-build:
name: "Build"
strategy:
fail-fast: true
matrix:
setup: [{arch: "x86_64", ainame: "x64", runner: "ubuntu-22.04"}, {arch: "aarch64", ainame: "arm64", runner: "ubuntu-24.04-arm"}]
runs-on: ${{ matrix.setup.runner }}
container:
image: ghcr.io/flathub-infra/flatpak-github-actions:freedesktop-24.08
options: --privileged
timeout-minutes: 60
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
set-safe-directory: ${{ env.GITHUB_WORKSPACE }}
# Work around container ownership issue
- name: Set Safe Directory
shell: bash
run: git config --global --add safe.directory "*"
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: "linux-${{ matrix.setup.ainame }}-appimage"
path: ./artifacts/
- name: Move AppImage
shell: bash
run: |
mv "./artifacts/DuckStation-${{ matrix.setup.ainame }}.AppImage" "scripts/packaging/flatpak/DuckStation.AppImage"
- name: Generate AppStream XML
run: |
scripts/packaging/generate-metainfo.sh scripts/packaging/flatpak
- name: Build Flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: duckstation-${{ matrix.setup.arch }}.flatpak
upload-artifact: false
manifest-path: scripts/packaging/flatpak/org.duckstation.DuckStation.yaml
arch: ${{ matrix.setup.arch }}
build-bundle: true
verbose: true
mirror-screenshots-url: https://dl.flathub.org/media
branch: stable
cache: true
restore-cache: true
cache-key: flatpak-${{ hashFiles('scripts/packaging/flatpak/org.duckstation.DuckStation.yaml') }}
- name: Push To Flathub Beta
if: inputs.flathub_publish && inputs.flathub_branch == 'beta'
uses: flatpak/flatpak-github-actions/flat-manager@v6
with:
flat-manager-url: https://hub.flathub.org/
repository: stable
token: ${{ secrets.FLATHUB_BETA_TOKEN }}
build-log-url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Push To Flathub Stable
if: inputs.flathub_publish && inputs.flathub_branch == 'stable'
uses: flatpak/flatpak-github-actions/flat-manager@v6
with:
flat-manager-url: https://hub.flathub.org/
repository: stable
token: ${{ secrets.FLATHUB_STABLE_TOKEN }}
build-log-url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Upload Flatpak
uses: actions/upload-artifact@v4
with:
name: "linux-flatpak-${{ matrix.setup.arch }}"
path: "duckstation-${{ matrix.setup.arch }}.flatpak"

View File

@@ -1,5 +0,0 @@
.flatpak-builder/
build/
repo/
org.duckstation.DuckStation.metainfo.xml
*.flatpak

View File

@@ -1,37 +0,0 @@
# SPDX-FileCopyrightText: 2019-2025 Connor McLaughlin <stenzek@gmail.com>
# SPDX-License-Identifier: CC-BY-NC-ND-4.0
app-id: "org.duckstation.DuckStation"
runtime: "org.freedesktop.Platform"
runtime-version: "24.08"
sdk: "org.freedesktop.Sdk"
sdk-extensions:
- "org.freedesktop.Sdk.Extension.llvm19"
command: "duckstation-qt"
finish-args:
- "--device=all"
- "--allow=bluetooth"
- "--share=network"
- "--share=ipc"
- "--socket=pulseaudio"
- "--talk-name=org.freedesktop.ScreenSaver"
- "--socket=wayland"
- "--socket=fallback-x11"
modules:
- name: duckstation
buildsystem: simple
sources:
- type: file
path: DuckStation.AppImage
build-options:
# Don't mess with binaries.
strip: false
no-debuginfo: true
build-commands:
- "chmod +x DuckStation.AppImage"
- "./DuckStation.AppImage --appimage-extract"
- "mv squashfs-root/usr/* \"${FLATPAK_DEST}/\""
- "rm -fr squashfs-root"