GitLab CI/CD for Flatpak

Thanks to this document, and a quick look at nautilus’s git repo I was able to automatically generate fresh flatpaks directly from GitLab by using the integrated CI/CD system.

My current setup isn’t perfect but it manages to automate flatpak builds. This is incredibly useful, as when people open issues and I try to fix them, I can just tell them to install the lastest flatpak from the CI/CD and test the fixes.

Also, for power users and curious minds I imagine it could be compelling to be able to install the latest development snapshot without jumping through many hoops.

Anyway, let’s get down to business, here’s the .gitlab-ci.yml file to let the magic happen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'

variables:
BUNDLE: "gfeeds.flatpak"

flatpak:
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:3.32'
variables:
MANIFEST_PATH: "dist/flatpak/org.gabmus.gfeeds.json"
MESON_ARGS: "-Dprofile=Devel"
FLATPAK_MODULE: "gfeeds"
RUNTIME_REPO: "https://flathub.org/repo/flathub.flatpakrepo"
APP_ID: "org.gabmus.gfeeds"
extends: .flatpak

review:
stage: deploy
dependencies:
- 'flatpak'
extends: '.review'

stop_review:
stage: deploy
extends: '.stop_review'

Hope you find a good use for it.