Skip to content

refactor: remove link to Lotti doc from GETTING_STARTED doc #147

refactor: remove link to Lotti doc from GETTING_STARTED doc

refactor: remove link to Lotti doc from GETTING_STARTED doc #147

name: Build Flatpak Test Build
permissions:
contents: read
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
flatpak:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
fetch-depth: 0 # Needed so the prep script can pin the exact commit
- name: Install Flatpak and dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
flatpak \
meson \
ninja-build \
libjson-glib-dev \
libcurl4-openssl-dev \
libostree-dev \
libyaml-dev \
libglib2.0-dev \
libelf-dev \
libxml2-dev \
libarchive-tools \
debugedit \
appstream \
appstream-compose \
elfutils \
ostree
# Build and install flatpak-builder 1.4.7 from source
wget https://github.com/flatpak/flatpak-builder/releases/download/1.4.7/flatpak-builder-1.4.7.tar.xz
tar -xf flatpak-builder-1.4.7.tar.xz
cd flatpak-builder-1.4.7/
meson setup _build
meson compile -C _build
sudo meson install -C _build
cd ..
flatpak-builder --version
# Add Flathub repository
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install required runtime and SDK extensions
sudo flatpak install -y flathub org.freedesktop.Platform//25.08
sudo flatpak install -y flathub org.freedesktop.Sdk//25.08
sudo flatpak install -y flathub org.freedesktop.Sdk.Extension.llvm20//25.08
sudo flatpak install -y flathub org.freedesktop.Sdk.Extension.rust-stable//25.08
- name: Verify Flatpak
run: |
flatpak --version
flatpak list
- name: Install Python dependencies for flatpak-flutter
run: |
python3 -m pip install --user --disable-pip-version-check toml pyyaml packaging
- name: Run manifest helper tests
run: |
cd flatpak
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install pytest pyyaml toml packaging
python -m pytest manifest_tool/tests
- name: Prepare Flathub build artifacts
env:
CLEAN_AFTER_GEN: "false" # Keep build artifacts for the verification step
run: |
DOWNLOAD_MISSING_SOURCES=false ./flatpak/prepare_flathub_submission.sh
- name: Debug prepared artifacts contents
run: |
ls -R flatpak/flathub-build/output || true
- name: Build from prepared manifest
working-directory: flatpak/flathub-build/output
env:
DEBUG_SETUP_FLUTTER: "1"
continue-on-error: true
run: |
flatpak-builder \
--user \
--install \
--force-clean \
--repo=repo \
--mirror-screenshots-url=https://dl.flathub.org/media \
build-dir com.matthiasn.lotti.yml
- name: Commit screenshots to OSTree
working-directory: flatpak/flathub-build/output
continue-on-error: true
run: |
ostree commit \
--repo=repo \
--canonical-permissions \
--branch=screenshots/x86_64 \
build-dir/files/share/app-info/media
- name: Verify Flatpak (post-build)
run: |
flatpak --version
flatpak list
- name: Lint prepared manifest
working-directory: flatpak/flathub-build/output
run: |
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install --user --noninteractive -y flathub app/org.flatpak.Builder
export XDG_RUNTIME_DIR="${RUNNER_TEMP}/xdg-runtime"
mkdir -p "$XDG_RUNTIME_DIR"
chmod 700 "$XDG_RUNTIME_DIR"
dbus-run-session -- flatpak run --user --command=flatpak-builder-lint org.flatpak.Builder//stable manifest com.matthiasn.lotti.yml
- name: Lint prepared repo (informational)
working-directory: flatpak/flathub-build/output
continue-on-error: true
run: |
export XDG_RUNTIME_DIR="${RUNNER_TEMP}/xdg-runtime"
mkdir -p "$XDG_RUNTIME_DIR"
chmod 700 "$XDG_RUNTIME_DIR"
dbus-run-session -- flatpak run --user --command=flatpak-builder-lint org.flatpak.Builder//stable repo repo
# Removed artifact upload step; no useful binaries in build output