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.
This commit is contained in:
Michel Dänzer 2023-01-19 10:52:50 +01:00 committed by Michel Dänzer
parent b2dee689fa
commit 81d91f7d01
3 changed files with 24 additions and 2 deletions

View File

@ -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
#

View File

@ -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/

14
.gitlab-ci/dist.sh Executable file
View File

@ -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