[gimp/wip/Jehan/distribute-meson-tarball] gitlab-ci: make gimp-meson-debian more robust to source updates.




commit 8d489b2ef3df11f6af46813fe9a3c28a10da0616
Author: Jehan <jehan girinstud io>
Date:   Mon Aug 1 23:17:00 2022 +0200

    gitlab-ci: make gimp-meson-debian more robust to source updates.
    
    The `ninja dist` step fails with:
    
    > ERROR: Repository has uncommitted changes that will not be included in the dist tarball
    > Use --allow-dirty to ignore the warning and proceed anyway
    > FAILED: meson-dist
    > /usr/bin/meson dist
    
    Astonishingly if I run a `git diff` (or git status) in the CI, I saw no
    changes and the dist suddenly succeeded. When I remove it, it fails
    again. And of course, locally it's alright. No way to diagnose!
    
    Anyway it's not a bad idea to leave some diagnostic logs in the CI so
    here we go, properly outputting the diff and exiting the job with an
    error when there is a diff. Because anyway, there should be none. It
    would mean that there is likely some issue in versionned generated
    files.

 .gitlab-ci.yml | 7 +++++++
 1 file changed, 7 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d0816b8baa..2573958193 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -238,6 +238,13 @@ gimp-meson-debian:
       --prefix="${INSTALL_PREFIX}"
     - ninja -C _build
     - ninja -C _build test
+    # The src should not be changed by the build. If it is, something is
+    # wrong. Let's print out the diff for debugging in such case, and
+    # exit to fail the CI.
+    - if [ $(git diff |wc -l) -ne 0 ]; then
+        git diff;
+        exit 1;
+      fi
     - ninja -C _build dist
 
 gimp-clang-debian:


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