From 81d91f7d0140d70824be651d788f7453c1ac32b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Thu, 19 Jan 2023 10:52:50 +0100 Subject: [PATCH] ci: Move dist testing to a separate job Multiple reasons, in particular: * Doing it in every build & test job duplicates effort, resulting in the pipeline taking longer than necessary. * We cannot limit the number of test processes spawned by meson dist. * There's little point running tests for dist anyway, we just want to make sure we can build & install from the generated tarball. --- .gitlab-ci.yml | 10 ++++++++++ .gitlab-ci/build-and-test.sh | 2 -- .gitlab-ci/dist.sh | 14 ++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100755 .gitlab-ci/dist.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 45f090ffc..22769a047 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -97,6 +97,16 @@ mingw-cross-build: - meson --cross-file=.gitlab-ci/cross-i686-w64-mingw32.txt -Dglx=false -Dsecure-rpc=false -Dlisten_tcp=true build/ - ninja -j${FDO_CI_CONCURRENT:-4} -C build/ install +meson-dist: + extends: .common-build-and-test + artifacts: + when: always + paths: + - build/meson-logs/ + - build/xserver-*/build/meson-logs/ + script: + - .gitlab-ci/dist.sh + # # Verify that commit messages are as expected # diff --git a/.gitlab-ci/build-and-test.sh b/.gitlab-ci/build-and-test.sh index 534aa422f..e97c8c698 100755 --- a/.gitlab-ci/build-and-test.sh +++ b/.gitlab-ci/build-and-test.sh @@ -22,8 +22,6 @@ check_piglit_results () meson -Dc_args="-fno-common" -Dprefix=/usr -Dxephyr=true -Dwerror=true $MESON_EXTRA_OPTIONS build/ -ninja -j${FDO_CI_CONCURRENT:-4} -C build/ dist - export PIGLIT_DIR=/root/piglit XTEST_DIR=/root/xts ninja -j${FDO_CI_CONCURRENT:-4} -C build/ meson test --num-processes ${FDO_CI_CONCURRENT:-4} --print-errorlogs -C build/ diff --git a/.gitlab-ci/dist.sh b/.gitlab-ci/dist.sh new file mode 100755 index 000000000..29feebbfd --- /dev/null +++ b/.gitlab-ci/dist.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e +set -o xtrace + +meson build/ +meson dist --no-tests -C build/ + +cd build +tar xf meson-dist/xserver-*.tar.xz +cd xserver-*/ + +meson -Dc_args="-fno-common" -Dprefix=/usr -Dwerror=true build/ +DESTDIR=$PWD/install/ ninja -j${FDO_CI_CONCURRENT:-4} -C build/ install