[geary/wip/794700-lazy-load-conversations: 2/19] Update Gitlab CI Flatpak build with standard template
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/794700-lazy-load-conversations: 2/19] Update Gitlab CI Flatpak build with standard template
- Date: Mon, 21 Jan 2019 00:41:42 +0000 (UTC)
commit 7b8171a39942a9b113644dd3fc6882df2253613d
Author: Michael Gratton <mike vee net>
Date: Wed Jan 16 10:21:42 2019 +1100
Update Gitlab CI Flatpak build with standard template
See: https://gitlab.gnome.org/GNOME/citemplates
.gitlab-ci.yml | 115 +++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 88 insertions(+), 27 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 887b6036..7cfb1054 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,8 @@ variables:
BUILD_CMD: ninja -v -C $BUILD_DIR
TEST_CMD: xvfb-run meson test -v --no-stdsplit -C $BUILD_DIR
INSTALL_CMD: ninja -v -C $BUILD_DIR install
+
+ # Fedora packages
FEDORA_DEPS: vala gobject-introspection-devel
meson desktop-file-utils libcanberra-devel libgee-devel
glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel
@@ -18,6 +20,8 @@ variables:
gcr-devel enchant-devel libunwind-devel iso-codes-devel
gnome-online-accounts-devel itstool json-glib-devel
FEDORA_TEST_DEPS: Xvfb tar xz
+
+ # Ubuntu & Debian packages
UBUNTU_DEPS: valac libgirepository1.0-dev
meson desktop-file-utils libcanberra-dev
libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev
@@ -27,9 +31,17 @@ variables:
libmessaging-menu-dev libunity-dev libjson-glib-dev
UBUNTU_TEST_DEPS: xauth xvfb
-#
-# Stages
-#
+ # Flatpak vars
+ APP_ID: org.gnome.Geary
+ BUNDLE: geary-dev.flatpak
+ FLATPAK_MODULE: geary
+ GIT_SUBMODULE_STRATEGY: normal
+ MANIFEST_PATH: org.gnome.Geary.json
+ RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo"
+
+stages:
+ - build
+ - deploy
fedora:
stage: build
@@ -64,33 +76,82 @@ deb-package:
script:
- dpkg-buildpackage -b -us -uc
-flatpack-package:
- image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
- stage: build
-
- variables:
- GIT_SUBMODULE_STRATEGY: normal
- FLATPAK_ARTIFACT: geary-git.flatpak
-
+flatpak:
+ image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
+ stage: 'build'
script:
- - flatpak-builder flatpak-build org.gnome.Geary.json
- - flatpak build-export flatpak-repo flatpak-build --update-appstream
- - flatpak build-bundle flatpak-repo $FLATPAK_ARTIFACT
- --runtime-repo=https://sdk.gnome.org/gnome-nightly.flatpakrepo
- org.gnome.Geary
-
+ - flatpak-builder --stop-at=${FLATPAK_MODULE} app ${MANIFEST_PATH}
+ # Make sure to keep this in sync with the Flatpak manifest, all arguments
+ # are passed except the config-args because we build it ourselves
+ - 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}
+ # Run automatic tests inside the Flatpak env
+ - >
+ xvfb-run -a -s "-screen 0 1024x768x24"
+ flatpak build
+ --env=LANG=C.UTF-8
+ --env=NO_AT_BRIDGE=1
+ app
+ dbus-run-session
+ meson test -C _build --no-stdsplit --print-errorlogs
+ # Generate a Flatpak bundle
+ - flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID}
artifacts:
+ when: 'always'
paths:
- - $FLATPAK_ARTIFACT
+ - "${BUNDLE}"
+ - '_build/meson-logs/meson-log.txt'
+ - '_build/meson-logs/testlog.txt'
expire_in: 2 days
-
cache:
- # JOB_NAME - Each job will have it's own cache
- # COMMIT_REF_SLUG = Lowercase name of the branch
- # ^ Keep diffrerent caches for each branch
- key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
+ key: "$CI_JOB_NAME"
paths:
- # Cache .flatpak-builder
- - .flatpak-builder/cache/
- - .flatpak-builder/downloads/
- - .flatpak-builder/git/
+ - '.flatpak-builder/downloads'
+ - '.flatpak-builder/git'
+ except:
+ variables:
+ # Don't run for translation commits
+ - $CI_COMMIT_TITLE =~ /^Update.*translation$/
+
+review:
+ stage: 'deploy'
+ script:
+ - echo "Generating Flatpak deployment"
+ artifacts:
+ paths:
+ - "${BUNDLE}"
+ expire_in: 30 days
+ environment:
+ name: review/$CI_COMMIT_REF_NAME
+ url: https://gitlab.gnome.org/$CI_PROJECT_PATH/-/jobs/$CI_JOB_ID/artifacts/raw/${BUNDLE}
+ on_stop: stop_review
+ except:
+ refs:
+ - 'tags'
+ # No need to run on the upstream master branch either
+ - 'master'
+ # don't run on stable branches
+ - /^gnome-\d-\d\d$/
+ variables:
+ # Don't run for translation commits
+ - $CI_COMMIT_TITLE =~ /^Update.*translation$/
+
+stop_review:
+ stage: 'deploy'
+ script:
+ - echo "Stopping Flatpak deployment"
+ when: 'manual'
+ environment:
+ name: review/$CI_COMMIT_REF_NAME
+ action: 'stop'
+ except:
+ refs:
+ - 'tags'
+ # No need to run on the upstream master branch either
+ - 'master'
+ # don't run on stable branches
+ - /^gnome-\d-\d\d$/
+ variables:
+ # Don't run for translation commits
+ - $CI_COMMIT_TITLE =~ /^Update.*translation$/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]