[gimp] Issue #6257: Race condition bug in meson build.



commit 11a891b3147a95015600ebf68aed4394451f3c19
Author: Jehan <jehan girinstud io>
Date:   Thu May 20 04:22:12 2021 +0200

    Issue #6257: Race condition bug in meson build.
    
    This is not a fix, only a workaround for the CI to at least not fail
    randomly, for the time being.
    
    Basically since meson is running parallel jobs, even when the build
    fails because git-version.h doesn't exist yet, while a depending file is
    being built, it will still be built immediately after, despite the
    failure. As a consequence, re-running `ninja` immediately after (i.e.
    running `ninja || ninja`) will make the second build work. If it doesn't
    then it's another issue which has to be fixed. But at least we work
    around this known race condition in the meson build for the time being.
    
    It's very ugly, but better than current situation. :-/

 .gitlab-ci.yml | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 972111d9f7..a2997a7ae1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -233,7 +233,13 @@ gimp-clang-debian:
         clang libomp-dev
     - meson _build
       --prefix="${INSTALL_PREFIX}"
-    - ninja -C _build
+    # This is absolute ugly but is the current trick to handle issue
+    # #6257 which is a race condition in the meson build. When we have a
+    # failure because of this, "git-version.h" will still have been
+    # created, yet after a depending target is being built. So all we
+    # have to do is re-run `ninja`. If the second attempt fails too,
+    # then it's another issue.
+    - ninja -C _build || ninja -C _build
     - ninja -C _build test
 
 ## WINDOWS 64-bit CI (native MSYS2) ##


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