diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2018-03-20 23:52:31 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2018-03-20 23:52:31 +0000 |
commit | 5290d9d8c786ac9855186cef501de6a5eab14c0c (patch) | |
tree | 868a3d0b13033528e3f98351db7626b8c94ab2ef | |
parent | 7862894f11ad8a8889a109d6e6ac4d897118b9a0 (diff) | |
parent | f353bbd0bc80a095b5cba55a4caee4af5fe3a826 (diff) | |
download | gtk+-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.yml | 58 | ||||
-rw-r--r-- | build-aux/flatpak/org.gtk.Demo.json | 59 | ||||
-rw-r--r-- | build-aux/flatpak/org.gtk.WidgetFactory.json | 59 |
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" + } + ] + } + ] +} |