[gimp] gitlab-ci: do not run `meson test` anymore inside the flatpak job.



commit b824abc113309823227a93ea2caec6932c956bac
Author: Jehan <jehan girinstud io>
Date:   Sun Jul 25 21:58:04 2021 +0200

    gitlab-ci: do not run `meson test` anymore inside the flatpak job.
    
    Somehow the test part of the flatpak job stopped working. The last
    instance which worked was 3 weeks ago, but after a lot of debugging I
    realized that it is not because of any code change on our side. The
    exact same commit which worked 3 weeks ago won't anymore!
    
    The standalone bundle is actually built and works fine when tested
    independently. What fails is the `meson test` inside the flatpak
    environment. Somehow when GIMP is rebuilt inside the test flatpak
    environment, it doesn't build the plug-ins yet one of our tests
    (save-and-export) requires plug-ins to open some file formats. Note that
    I double-checked, the plug-ins were well built and loading any format
    works fine in the standalone flatpak, just not in this specific step.
    
    I am completely unsure what broke, yet it is apparently outside GIMP
    code. So for now, I just copy-paste the whole flatpak job which we were
    including from another repository and remove the `meson test` part.

 .gitlab-ci.yml | 41 ++++++++++++++++++++++++++++++++++++-----
 1 file changed, 36 insertions(+), 5 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d82f83c87d..eab62d4a09 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -574,8 +574,11 @@ gimp-win32:
 ## To learn more about the CI, go to https://gitlab.gnome.org/GNOME/Initiatives/-/wikis/DevOps-with-Flatpak
 
 flatpak:
-  extends: .flatpak
+  image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
   stage: gimp
+  interruptible: true
+  tags:
+    - flatpak
   needs: []
   rules:
     # Custom builds though web GUI, API or schedules.
@@ -592,14 +595,32 @@ flatpak:
     FLATPAK_MODULE: "gimp"
     APP_ID: "org.gimp.GIMP"
     BUNDLE: "gimp-git.flatpak"
-  before_script:
+  script:
+    # Report the installed versions of the runtime
+    - flatpak info org.gnome.Platform
+    - flatpak info org.gnome.Sdk
+
+    # Print the date, since appstream depends on local timezone
+    - date && date -u
+
+    - rewrite-flatpak-manifest ${MANIFEST_PATH} ${FLATPAK_MODULE} ${CONFIG_OPTS}
     # Our script is too long for Gitlab and ends up with:
     # > Job's log exceeded limit of 16777216 bytes.
     # > Job execution will continue but no more output will be collected.
     # To make debugging actually possible, let's save logs as a file.
-    - shopt -s expand_aliases
-    - flatpak-builder-wrapper() { flatpak-builder "$@" > flatpak-builder.log 2>&1; }
-    - alias flatpak-builder=flatpak-builder-wrapper
+    - flatpak-builder --user --disable-rofiles-fuse flatpak_app --repo=repo 
${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH} > flatpak-builder.log 2>&1
+    # Generate a Flatpak bundle
+    - flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID} ${BRANCH}
+    - tar cf repo.tar repo/
+
+    # XXX This job is mostly the same as .flatpak job of
+    # flatpak_ci_initiative.yml so far, except that I removed the
+    # automatic tests inside the Flatpak env at the end. The reason is
+    # that this part suddenly stopped working (even though the flatpak
+    # itself is functional) because the rebuild somehow was not
+    # rebuilding plug-ins. Yet one of the test (save-and-export)
+    # requires plug-ins to be built.
+
   artifacts:
     paths:
       - flatpak-builder.log
@@ -609,6 +630,16 @@ flatpak:
       - 'repo.tar'
       - '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/meson-log.txt'
       - '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.txt'
+    expire_in: 1 week
+  cache:
+    - key: "$CI_JOB_NAME"
+      paths:
+        - '.flatpak-builder/downloads'
+        - '.flatpak-builder/git'
+    - key: "$CI_JOB_NAME"
+      paths:
+        - '.flatpak-builder/cache'
+        - '.flatpak-builder/ccache'
 
 cppcheck:
   rules:


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