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