[gnome-photos/flatpak-ci] Add Flatpak CI, and deliver bundles with each commit



commit 03c61ae9991696433d51a6d14f798db3bd0ca276
Author: Jordan Petridis <jordanpetridis protonmail com>
Date:   Sat May 19 09:25:05 2018 +0000

    Add Flatpak CI, and deliver bundles with each commit
    
    For more see:
    https://gitlab.gnome.org/GNOME/Initiatives/wikis/DevOps-with-Flatpak
    
    https://gitlab.gnome.org/GNOME/gnome-photos/merge_requests/46

 .gitlab-ci.yml | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..56380637
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,79 @@
+stages:
+- test
+- review
+
+variables:
+    BUNDLE: "org.gnome.Photos.Devel.flatpak"
+    GIT_SUBMODULE_STRATEGY: "normal"
+
+flatpak:
+    image: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master"
+    stage: "test"
+    variables:
+        MANIFEST_PATH: "flatpak/org.gnome.Photos.json"
+        RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo";
+        # Replace with your application name, as written in the manifest
+        FLATPAK_MODULE: "gnome-photos"
+        # Make sure to keep this in sync with the Flatpak manifest, all arguments
+        # are passed except the config-args because we build it ourselves
+        CONFIGURE_ARGS: "-Ddogtail=false -Dinstalled_tests=true"
+        DBUS_ID: "org.gnome.Photos"
+
+    script:
+        - 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 ${CONFIGURE_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 app ninja -C _build test
+
+        # Generate a Flatpak bundle
+        - flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${DBUS_ID}
+
+    artifacts:
+        paths:
+            - ${BUNDLE}
+            - _build/meson-logs/meson-log.txt
+            - _build/meson-logs/testlog.txt
+        expire_in: 2 days
+    cache:
+        paths:
+            - .flatpak-builder/downloads
+            - .flatpak-builder/git
+
+review:
+    stage: "review"
+    dependencies:
+        - flatpak
+    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:
+        - master@GNOME/gnome-photos
+        - tags
+        - gnome-3-.*
+
+stop_review:
+    stage: "review"
+    script:
+        - echo "Stopping flatpak deployment"
+    when: manual
+    environment:
+        name: review/$CI_COMMIT_REF_NAME
+        action: stop
+    except:
+        - master@GNOME/gnome-photos
+        - tags
+        - gnome-3-.*


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