diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 03fbfafe7118dbe3bad4f9c79ac5ef17827d68a4..6a294f48556149aa32ceba540266d645027db619 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,10 +1,27 @@
-image: fedora:latest
 stages:
   - build
 
-build:
+flatpak:
+  image: flatpak/flatpak-builder:gnome-3-28
   stage: build
+  variables:
+    MANIFEST_PATH: "build-aux/uk.me.bcowan.Rugby.json"
+    RUNTIME_REPO: "https://sdk.gnome.org/gnome.flatpakrepo"
+    FLATPAK_MODULE: "rugby"
+    BUNDLE: "rugby.flatpak"
+    MESON_ARGS: ""
+    DBUS_ID: "uk.me.bcowan.Rugby"
+
   script:
-  - dnf install -y 'pkgconfig(gtk+-3.0)' gcc meson ninja-build
-  - meson builddir
-  - ninja -C builddir
\ No newline at end of file
+  - flatpak-builder --stop-at=${FLATPAK_MODULE} app ${MANIFEST_PATH}
+  - flatpak build app meson --prefix=/app ${MESON_ARGS} _build
+  - flatpak build app ninja -C _build install
+  - flatpak-builder --finish-only --repo=repo app ${MANIFEST_PATH}
+  - flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${DBUS_ID}
+  artifacts:
+    paths:
+    - ${BUNDLE}
+    - _build/meson-logs/meson-log.txt
+  cache:
+    paths:
+      - .flatpak-builder/cache
diff --git a/build-aux/uk.me.bcowan.Rugby.json b/build-aux/uk.me.bcowan.Rugby.json
new file mode 100644
index 0000000000000000000000000000000000000000..56278f77679a5ca88d406416164c1913a16deea6
--- /dev/null
+++ b/build-aux/uk.me.bcowan.Rugby.json
@@ -0,0 +1,28 @@
+{
+    "app-id" : "uk.me.bcowan.Rugby",
+    "runtime" : "org.gnome.Platform",
+    "runtime-version" : "3.28",
+    "sdk" : "org.gnome.Sdk",
+    "command" : "rugby",
+    "finish-args" : [
+        "--socket=x11",
+        "--socket=wayland"
+    ],
+    "modules" : [
+        {
+            "name" : "rugby",
+            "buildsystem" : "meson",
+            "builddir" : true,
+            "sources" : [
+                {
+                    "type" : "git",
+                    "url" : "https://git.fossgalaxy.com/SuborbitalPigeon/rugby.git"
+                }
+            ]
+        }
+    ],
+    "build-options" : {
+        "env" : {
+        }
+    }
+}