[geary/wip/gitlab-ci] Add some additional builds.



commit 72db865eb9a4ef8c112d3472b77daccf86946ef3
Author: Michael James Gratton <mike vee net>
Date:   Mon Jun 11 10:14:47 2018 +1000

    Add some additional builds.
    
    Flatpak build courtesy chergert.

 .gitlab-ci.yml | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 79 insertions(+), 11 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 716b9856..31749486 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,12 +7,22 @@ stages:
 
 variables:
   BUILD_DIR: build
-  FEDORA_DEPENDENCIES: vala gobject-introspection-devel
-                meson desktop-file-utils libcanberra-devel libgee-devel
-                glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel
-                webkitgtk4-devel libsecret-devel libxml2-devel vala-tools
-                gcr-devel enchant-devel libunwind-devel
-                gnome-online-accounts-devel itstool
+  CONFIG_CMD: meson --buildtype=debug build
+  BUILD_CMD: ninja -v -C $BUILD_DIR
+  TEST_CMD: meson test -v --no-stdsplit -C $BUILD_DIR engine-tests
+  INSTALL_CMD: ninja -v -C $BUILD_DIR install
+  FEDORA_DEPS: vala gobject-introspection-devel
+               meson desktop-file-utils libcanberra-devel libgee-devel
+               glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel
+               webkitgtk4-devel libsecret-devel libxml2-devel vala-tools
+               gcr-devel enchant-devel libunwind-devel
+               gnome-online-accounts-devel itstool
+  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
+               libsecret-1-dev libxml2-dev libnotify-dev libsqlite3-dev
+               libwebkit2gtk-4.0-dev libgcr-3-dev libenchant-dev
+               libunwind-dev libgoa-1.0-dev itstool
 
 #
 # Stages
@@ -23,9 +33,67 @@ fedora:
   image: fedora:latest
   before_script:
     - dnf update -y --nogpgcheck
-    - dnf install -y --nogpgcheck $FEDORA_DEPENDENCIES
+    - dnf install -y --nogpgcheck $FEDORA_DEPS
   script:
-    - meson --buildtype=debug build
-    - ninja -v -C $BUILD_DIR
-    - meson test -v --no-stdsplit -C $BUILD_DIR engine-tests
-    - ninja -v -C $BUILD_DIR install
+    - $CONFIG_CMD
+    - $BUILD_CMD
+    - $TEST_CMD
+    - $INSTALL_CMD
+
+ubuntu:
+  stage: build
+  image: ubuntu:rolling
+  before_script:
+    - apt-get update
+    - apt-get install -q -y --no-install-recommends $UBUNTU_DEPS
+  script:
+    - $CONFIG_CMD
+    - $BUILD_CMD
+    - $TEST_CMD
+    - $INSTALL_CMD
+
+deb-package:
+  stage: build
+  image: ubuntu:rolling
+  before_script:
+    - apt-get update
+    - apt-get install -q -y --no-install-recommends $UBUNTU_DEPS
+  script:
+    - dpkg-buildpackage -b -us -uc
+
+flatpack-package:
+  image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:3.28
+  stage: build
+
+  variables:
+    GIT_SUBMODULE_STRATEGY: normal
+    FLATPAK_ARTIFACT: geary-git.flatpak
+
+  script:
+    # Build the flatpak repo
+    - flatpak-builder --stop-at= org.gnome.Geary.json
+    - flatpak build app meson --prefix=/app $BUILD_DIR
+    - flatpak build app ninja -C $BUILD_DIR install
+    - flatpak-builder --finish-only --repo=repo app org.gnome.Geary.json
+
+    # Make a flatpak for people to test
+    - flatpak build-bundle repo $FLATPAK_ARTIFACT 
--runtime-repo=https://sdk.gnome.org/gnome-nightly.flatpakrepo org.gnome.Geary
+
+    # Run tests inside the Flatpak env
+    - flatpak-builder --run app org.gnome.Geary.json $TEST_CMD
+
+    artifacts:
+      paths:
+        - $FLATPAK_ARTIFACT
+      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"
+      paths:
+        # Cache .flatpak-builder
+        - .flatpak-builder/cache/
+        - .flatpak-builder/downloads/
+        - .flatpak-builder/git/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]