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.
This commit is contained in:
Emmanuele Bassi 2018-03-20 23:52:31 +00:00
commit 5290d9d8c7
3 changed files with 160 additions and 16 deletions

View File

@ -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

View File

@ -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"
}
]
}
]
}

View File

@ -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"
}
]
}
]
}