summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2018-03-20 23:52:31 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2018-03-20 23:52:31 +0000
commit5290d9d8c786ac9855186cef501de6a5eab14c0c (patch)
tree868a3d0b13033528e3f98351db7626b8c94ab2ef
parent7862894f11ad8a8889a109d6e6ac4d897118b9a0 (diff)
parentf353bbd0bc80a095b5cba55a4caee4af5fe3a826 (diff)
downloadgtk+-5290d9d8c786ac9855186cef501de6a5eab14c0c.tar.gz
Merge branch 'ci-flatpak'
Generate Flatpak bundles for gtk-demo and gtk-widget-factory when running the CI pipeline, and store them as artifacts on the CI server.
-rw-r--r--.gitlab-ci.yml58
-rw-r--r--build-aux/flatpak/org.gtk.Demo.json59
-rw-r--r--build-aux/flatpak/org.gtk.WidgetFactory.json59
3 files changed, 160 insertions, 16 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 33d2276de0..682fc9a47c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,27 +1,53 @@
-image: ebassi/gitlab-gtk:latest
-
stages:
- build
+ - flatpak
-before_script:
- - mkdir -p _ccache
- - export CCACHE_BASEDIR=${PWD}
- - export CCACHE_DIR=${PWD}/_ccache
-
-cache:
- paths:
- - subprojects/gdk-pixbuf/
- - subprojects/glib/
- - subprojects/graphene/
- - subprojects/libepoxy/
- - subprojects/pango/
-
-build:
+gtk:
+ image: ebassi/gitlab-gtk:latest
stage: build
+ before_script:
+ - mkdir -p _ccache
+ - export CCACHE_BASEDIR=${PWD}
+ - export CCACHE_DIR=${PWD}/_ccache
script:
- bash -x ./.gitlab-ci/test-docker.sh
+ cache:
+ paths:
+ - subprojects/gdk-pixbuf/
+ - subprojects/glib/
+ - subprojects/graphene/
+ - subprojects/libepoxy/
+ - subprojects/pango/
artifacts:
when: on_failure
name: "gtk-${CI_COMMIT_REF_NAME}"
paths:
- "${CI_PROJECT_DIR}/_build/meson-logs"
+
+flatpak:demo:
+ image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
+ stage: flatpak
+ script:
+ - flatpak-builder --stop-at=gtk app build-aux/flatpak/org.gtk.Demo.json
+ - flatpak-builder --run app build-aux/flatpak/org.gtk.Demo.json meson --prefix /app --libdir /app/lib --buildtype debug -Dx11-backend=true -Dwayland-backend=true -Dprint-backends=file -Dbuild-tests=false -Ddemos=true _build .
+ - flatpak-builder --run app build-aux/flatpak/org.gtk.Demo.json ninja -C _build install
+ - flatpak-builder --finish-only --repo=repo app build-aux/flatpak/org.gtk.Demo.json
+ - flatpak build-bundle repo gtk-demo-dev.flatpak --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo org.gtk.Demo
+ artifacts:
+ paths:
+ - gtk-demo-dev.flatpak
+ expire_in: 1 day
+
+flatpak:widget-factory:
+ image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
+ stage: flatpak
+ script:
+ - flatpak-builder --stop-at=gtk app build-aux/flatpak/org.gtk.WidgetFactory.json
+ - flatpak-builder --run app build-aux/flatpak/org.gtk.WidgetFactory.json meson --prefix /app --libdir /app/lib --buildtype debug -Dx11-backend=true -Dwayland-backend=true -Dprint-backends=file -Dbuild-tests=false -Ddemos=true _build .
+ - flatpak-builder --run app build-aux/flatpak/org.gtk.WidgetFactory.json ninja -C _build install
+ - flatpak-builder --finish-only --repo=repo app build-aux/flatpak/org.gtk.WidgetFactory.json
+ - flatpak build-bundle repo gtk-widget-factory-dev.flatpak --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo org.gtk.WidgetFactory
+ artifacts:
+ paths:
+ - gtk-widget-factory-dev.flatpak
+ expire_in: 1 day
diff --git a/build-aux/flatpak/org.gtk.Demo.json b/build-aux/flatpak/org.gtk.Demo.json
new file mode 100644
index 0000000000..fb5e277743
--- /dev/null
+++ b/build-aux/flatpak/org.gtk.Demo.json
@@ -0,0 +1,59 @@
+{
+ "app-id": "org.gtk.Demo",
+ "runtime": "org.gnome.Platform",
+ "runtime-version": "master",
+ "sdk": "org.gnome.Sdk",
+ "command": "gtk4-demo",
+ "tags": ["devel", "development", "nightly"],
+ "rename-desktop-file": "gtk4-demo.desktop",
+ "rename-icon": "gtk4-demo",
+ "desktop-file-name-prefix": "(Development) ",
+ "finish-args": [
+ "--device=dri",
+ "--share=ipc",
+ "--socket=x11",
+ "--socket=wayland",
+ "--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*",
+ "--talk-name=ca.desrt.conf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf"
+ ],
+ "cleanup": [
+ "/include",
+ "/lib/pkgconfig", "/share/pkgconfig",
+ "/share/aclocal",
+ "/man", "/share/man", "/share/gtk-doc",
+ "*.la", ".a",
+ "/lib/girepository-1.0",
+ "/share/gir-1.0",
+ "/share/doc"
+ ],
+ "modules": [
+ {
+ "name": "graphene",
+ "buildsystem": "meson",
+ "builddir": true,
+ "config-opts": [
+ "--libdir=/app/lib"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://github.com/ebassi/graphene.git"
+ }
+ ]
+ },
+ {
+ "name": "gtk",
+ "buildsystem": "meson",
+ "builddir": true,
+ "config-opts": [
+ "--libdir=/app/lib"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://gitlab.gnome.org/GNOME/gtk.git"
+ }
+ ]
+ }
+ ]
+}
diff --git a/build-aux/flatpak/org.gtk.WidgetFactory.json b/build-aux/flatpak/org.gtk.WidgetFactory.json
new file mode 100644
index 0000000000..fbd4789641
--- /dev/null
+++ b/build-aux/flatpak/org.gtk.WidgetFactory.json
@@ -0,0 +1,59 @@
+{
+ "app-id": "org.gtk.WidgetFactory",
+ "runtime": "org.gnome.Platform",
+ "runtime-version": "master",
+ "sdk": "org.gnome.Sdk",
+ "command": "gtk4-widget-factory",
+ "tags": ["devel", "development", "nightly"],
+ "rename-desktop-file": "gtk4-widget-factory.desktop",
+ "rename-icon": "gtk4-widget-factory",
+ "desktop-file-name-prefix": "(Development) ",
+ "finish-args": [
+ "--device=dri",
+ "--share=ipc",
+ "--socket=x11",
+ "--socket=wayland",
+ "--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*",
+ "--talk-name=ca.desrt.conf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf"
+ ],
+ "cleanup": [
+ "/include",
+ "/lib/pkgconfig", "/share/pkgconfig",
+ "/share/aclocal",
+ "/man", "/share/man", "/share/gtk-doc",
+ "*.la", ".a",
+ "/lib/girepository-1.0",
+ "/share/gir-1.0",
+ "/share/doc"
+ ],
+ "modules": [
+ {
+ "name": "graphene",
+ "buildsystem": "meson",
+ "builddir": true,
+ "config-opts": [
+ "--libdir=/app/lib"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://github.com/ebassi/graphene.git"
+ }
+ ]
+ },
+ {
+ "name": "gtk",
+ "buildsystem": "meson",
+ "builddir": true,
+ "config-opts": [
+ "--libdir=/app/lib"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://gitlab.gnome.org/GNOME/gtk.git"
+ }
+ ]
+ }
+ ]
+}