[atkmm] CI: Use artifacts to transfer data between stages, part 2



commit 832c12fb67d747e8748b06e88c6e83d9a9d1b467
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Fri Mar 18 13:37:40 2022 +0100

    CI: Use artifacts to transfer data between stages, part 2

 .gitlab-ci.yml | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 76bd5e9..9d68fce 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -50,16 +50,20 @@ build_deps:
     DEPENDENCIES: $MESON_GCC_DEPS
   script:
     # Build and cache dependencies that can't be installed with apt.
+    # Install to ./installdir, with the contents of the installed files
+    # (notably .pc files) suited for installation to /usr.
+    - export DESTDIR=`pwd`/installdir
     # Build libsigc++3
     - if test ! -d libsigc; then
     - git clone --branch 3.2.0 --depth 1 https://github.com/libsigcplusplus/libsigcplusplus.git libsigc
     - cd libsigc
     - mkdir _build && cd _build
-    - meson --prefix=/usr --libdir=lib -Dbuild-examples=false -Dbuildtype=release
+    - meson --prefix=/usr --libdir=lib -Dvalidation=false -Dbuild-examples=false -Dbuildtype=release
     - meson compile
-    - meson install
     - cd ../..
     - fi
+    - ninja -C libsigc/_build install
+    - cp -r installdir/usr /
     # Build glibmm-2.68
     - if test ! -d glibmm; then
     - git clone --branch 2.70.0 --depth 1 https://gitlab.gnome.org/GNOME/glibmm.git glibmm
@@ -69,19 +73,19 @@ build_deps:
     - meson compile
     - cd ../..
     - fi
+    - ninja -C glibmm/_build install
   cache:
     key: build-deps
     paths:
       - libsigc/
       - glibmm/
     policy: pull-push
-  # Transfer the built dependencies to later stages as artifacts.
-  # The cache does not always work.
+  # Transfer the installed part of the built dependencies to later stages
+  # as artifacts. The cache does not always work.
   # https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/775
   artifacts:
     paths:
-      - libsigc/
-      - glibmm/
+      - installdir/
     expire_in: 1 day
 
 release_gcc_build:
@@ -90,8 +94,7 @@ release_gcc_build:
   variables:
     DEPENDENCIES: $MESON_GCC_DEPS
   script:
-    - ninja -C libsigc/_build install
-    - ninja -C glibmm/_build install
+    - cp -r installdir/usr /
     - mkdir _build && cd _build
     # -Ddebug=false + -Doptimization=3 correspond to -Dbuildtype=release
     - meson --prefix=/usr --libdir=lib -Ddebug=false -Doptimization=3 -Dwarnings=fatal
@@ -109,8 +112,7 @@ release_clang_build:
   variables:
     DEPENDENCIES: $MESON_GCC_DEPS clang
   script:
-    - ninja -C libsigc/_build install
-    - ninja -C glibmm/_build install
+    - cp -r installdir/usr /
     - mkdir _build && cd _build
     # -Ddebug=false + -Doptimization=3 correspond to -Dbuildtype=release
     - CC=clang CXX=clang++ meson --prefix=/usr --libdir=lib -Ddebug=false -Doptimization=3 -Dwarnings=fatal


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