[gnome-todo/gbsneto/redesign] ci: Revamp Flatpak stage



commit 0c9327a1cab2ba50f3b10f078149ef3867ddd569
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Fri May 18 22:10:55 2018 -0300

    ci: Revamp Flatpak stage
    
    This is streamlined with GNOME Settings Flatpak
    generator. All credits go to Claudio André.

 .gitlab-ci.yml | 61 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 44 insertions(+), 17 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d3f80c2..609f801 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -58,20 +58,47 @@ ubuntu:devel:
 # Flatpak Bundle #
 ##################
 
-flatpak:master:
-    image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
-    stage: flatpak
-    script:
-    - flatpak-builder --stop-at=gnome-todo app org.gnome.Todo.json
-    - flatpak build app meson --prefix /app -Dtracing=true _build
-    - flatpak build app ninja -C _build install
-    - flatpak-builder --finish-only --repo=repo app org.gnome.Todo.json
-    - flatpak build-bundle repo gnome-todo-$CI_COMMIT_REF_SLUG.flatpak 
--runtime-repo=https://sdk.gnome.org/gnome-nightly.flatpakrepo org.gnome.Todo
-    artifacts:
-        paths:
-        - gnome-todo-$CI_COMMIT_REF_SLUG.flatpak
-        - _build/meson-logs/meson-log.txt
-        expire_in: 3 days
-    cache:
-        paths:
-        - .flatpak-builder/cache
+flatpak:
+  stage: flatpak
+  image: registry.gitlab.gnome.org/gnome/gnome-nightly-oci/nightly:master
+  artifacts:
+    name: package
+    paths:
+    - $(pwd)/*.flatpak
+
+  variables:
+    APPID: "org.gnome.TodoDevel"
+    BUNDLE: "org.gnome.TodoDevel.flatpak"
+    MANIFEST_PATH: "org.gnome.Todo.json"
+    PATCHES: "build-aux/flatpak/*.patch"
+    PROJECT_FILE: "build-aux/flatpak/org.gnome.Todo.json"
+    PROJECT_ID: "org.gnome.Todo"
+    PROJECT_NAME: "gnome-control-center.git"
+    RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo";
+
+  script:
+    - echo "== Flatpak packaging =="
+
+    # Move needed files to the root folder
+    - cp ${PATCHES} . || true
+    - cp ${PROJECT_FILE} ${MANIFEST_PATH}
+
+    # Make it a develoment manifest
+    - sed -i -n "p; s/$PROJECT_NAME//p" ${MANIFEST_PATH}
+    - >
+      sed -i "s,\"app-id\" : \"$PROJECT_ID\",\"app-id\" : \"<<ID>>\",g" ${MANIFEST_PATH}
+    - >
+      sed -i "s,\"url\" : \"https://gitlab.gnome.org/GNOME/$PROJECT_NAME\",\"branch\"; : \"<<current>>\"\,,g" 
${MANIFEST_PATH}
+    - >
+      sed -i "s,\"url\" : \"https://gitlab.gnome.org/GNOME/\",\"path\"; : \".\",g" ${MANIFEST_PATH}
+
+    # Adjust the manifest to HEAD
+    - sed -i "s,<<ID>>,$APPID,g" ${MANIFEST_PATH}
+    - sed -i "s,<<current>>,origin/$CI_COMMIT_REF_NAME,g" ${MANIFEST_PATH}
+
+    - flatpak-builder --bundle-sources --repo=devel build ${MANIFEST_PATH}
+    - flatpak build-bundle devel ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APPID}
+
+  environment:
+    name: review/$CI_COMMIT_REF_NAME
+    url: https://gitlab.gnome.org/$CI_PROJECT_PATH/-/jobs/$CI_JOB_ID/artifacts/raw/${BUNDLE}


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