[gtk: 1/2] gitlab-ci: Reenable ccache but disable it during the initial meson call



commit c542115906ff2623b157ee540150af91cba82f8e
Author: Christoph Reiter <creiter src gnome org>
Date:   Wed Apr 11 12:18:55 2018 +0200

    gitlab-ci: Reenable ccache but disable it during the initial meson call
    
    There where some problems (??) with ccache not detecting changes during meson
    checks. Setting CCACHE_DISABLE during the meson execution makes ccache not use
    the cache and pass things directly to the compiler.

 .gitlab-ci.yml            | 28 +++++++++++++++++-----------
 .gitlab-ci/test-docker.sh |  9 +++++++++
 .gitlab-ci/test-msys2.sh  | 10 ++++++++++
 3 files changed, 36 insertions(+), 11 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bbabf994af..5c1580ca87 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,25 +2,28 @@ stages:
   - build
   - flatpak
 
-gtk:
+.cache-paths: &cache-paths
+  paths:
+    - _ccache/
+    - subprojects/gdk-pixbuf/
+    - subprojects/glib/
+    - subprojects/graphene/
+    - subprojects/libepoxy/
+    - subprojects/pango/
+
+fedora-x86_64:
   image: ebassi/gitlab-gtk:latest
   stage: build
-  before_script:
-    - export CCACHE_DISABLE=true_
   script:
     - bash -x ./.gitlab-ci/test-docker.sh
-  cache:
-    paths:
-      - subprojects/gdk-pixbuf/
-      - subprojects/glib/
-      - subprojects/graphene/
-      - subprojects/libepoxy/
-      - subprojects/pango/
   artifacts:
     when: on_failure
     name: "gtk-${CI_COMMIT_REF_NAME}"
     paths:
       - "${CI_PROJECT_DIR}/_build/meson-logs"
+  cache:
+    key: "$CI_JOB_NAME"
+    <<: *cache-paths
 
 .mingw-defaults: &mingw-defaults
   stage: build
@@ -29,8 +32,11 @@ gtk:
   script:
     - C:\msys64\usr\bin\pacman --noconfirm -Syyuu
     - C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2.sh"
+  cache:
+    key: "%CI_JOB_NAME%"
+    <<: *cache-paths
 
-mingw32:
+msys2-mingw32:
   variables:
     MSYSTEM: "MINGW32"
     CHERE_INVOKING: "yes"
diff --git a/.gitlab-ci/test-docker.sh b/.gitlab-ci/test-docker.sh
index 48b22d25ca..47cb9e9daf 100755
--- a/.gitlab-ci/test-docker.sh
+++ b/.gitlab-ci/test-docker.sh
@@ -4,16 +4,25 @@ set -e
 
 srcdir=$(pwd)
 
+mkdir -p _ccache
+export CCACHE_BASEDIR="$(pwd)"
+export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
+
+ccache --zero-stats
+ccache --show-stats
+export CCACHE_DISABLE=true
 meson \
         -Dx11-backend=true \
         -Dwayland-backend=true \
         -Dbroadway-backend=true \
         -Dvulkan=yes \
         _build $srcdir
+unset CCACHE_DISABLE
 
 cd _build
 
 ninja
+ccache --show-stats
 
 xvfb-run -a -s "-screen 0 1024x768x24" \
     meson test \
diff --git a/.gitlab-ci/test-msys2.sh b/.gitlab-ci/test-msys2.sh
index da0599ad4b..aacc88d048 100644
--- a/.gitlab-ci/test-msys2.sh
+++ b/.gitlab-ci/test-msys2.sh
@@ -16,6 +16,7 @@ pacman --noconfirm -S --needed \
     base-devel \
     git \
     mingw-w64-$MSYS2_ARCH-toolchain \
+    mingw-w64-$MSYS2_ARCH-ccache \
     mingw-w64-$MSYS2_ARCH-pkg-config \
     mingw-w64-$MSYS2_ARCH-gobject-introspection \
     mingw-w64-$MSYS2_ARCH-meson \
@@ -32,11 +33,20 @@ pacman --noconfirm -S --needed \
     mingw-w64-$MSYS2_ARCH-gst-plugins-bad \
     mingw-w64-$MSYS2_ARCH-shared-mime-info
 
+mkdir -p _ccache
+export CCACHE_BASEDIR="$(pwd)"
+export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
+
 # Build
+ccache --zero-stats
+ccache --show-stats
+export CCACHE_DISABLE=true
 meson \
     -Denable-x11-backend=false \
     -Denable-wayland-backend=false \
     -Denable-win32-backend=true \
     _build
+unset CCACHE_DISABLE
 
 ninja -C _build
+ccache --show-stats


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