aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2025-02-04 17:45:57 -0500
committerAndres Freund <andres@anarazel.de>2025-02-04 17:56:20 -0500
commitd38fd59d2a16469a9bf5797176094fb418792fae (patch)
tree306b1699abe583efa6eed6401deded646b8805d8
parent73ed502ea67779aedd335a8c322c3c9eef3c77b3 (diff)
downloadpostgresql-d38fd59d2a16469a9bf5797176094fb418792fae.tar.gz
postgresql-d38fd59d2a16469a9bf5797176094fb418792fae.zip
meson: ci: ensure tests are built before running them
Meson 1.7 stopped building all the dependencies of tests as part of the default build target. But it does breaks CI because we only built the default target before running the test, and ran the tests with --no-rebuild. The simplest fix would be to remove --no-rebuild from MTEST_ARGS, but it seems better to explicitly build the test dependencies, so compiler warnings / errors are visible as part of the build step. Discussion: https://postgr.es/m/CAGECzQSvM3iSDmjF+=Kof5an6jN8UbkP_4cKKT9w6GZavmb5yQ@mail.gmail.com Backpatch: 16-, where meson was added
-rw-r--r--.cirrus.tasks.yml17
1 files changed, 10 insertions, 7 deletions
diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml
index 84b5e00a610..8cbadc5849b 100644
--- a/.cirrus.tasks.yml
+++ b/.cirrus.tasks.yml
@@ -17,6 +17,9 @@ env:
CHECK: check-world PROVE_FLAGS=$PROVE_FLAGS
CHECKFLAGS: -Otarget
PROVE_FLAGS: --timer
+ # Build test dependencies as part of the build step, to see compiler
+ # errors/warnings in one place.
+ MBUILD_TARGET: all testprep
MTEST_ARGS: --print-errorlogs --no-rebuild -C build
PGCTLTIMEOUT: 120 # avoids spurious failures during parallel tests
TEMP_CONFIG: ${CIRRUS_WORKING_DIR}/src/tools/ci/pg_ci_base.conf
@@ -99,7 +102,7 @@ task:
EOF
build_script: |
su postgres <<-EOF
- ninja -C build -j${BUILD_JOBS}
+ ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}
EOF
upload_caches: ccache
@@ -178,7 +181,7 @@ task:
-Dextra_lib_dirs=/usr/local/lib -Dextra_include_dirs=/usr/local/include/ \
build
EOF
- build_script: su postgres -c 'ninja -C build -j${BUILD_JOBS}'
+ build_script: su postgres -c 'ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}'
upload_caches: ccache
test_world_script: |
@@ -380,8 +383,8 @@ task:
build-32
EOF
- build_script: su postgres -c 'ninja -C build -j${BUILD_JOBS}'
- build_32_script: su postgres -c 'ninja -C build-32 -j${BUILD_JOBS}'
+ build_script: su postgres -c 'ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}'
+ build_32_script: su postgres -c 'ninja -C build-32 -j${BUILD_JOBS} ${MBUILD_TARGET}'
upload_caches: ccache
@@ -502,7 +505,7 @@ task:
-DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
build
- build_script: ninja -C build -j${BUILD_JOBS}
+ build_script: ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}
upload_caches: ccache
test_world_script: |
@@ -575,7 +578,7 @@ task:
build_script: |
vcvarsall x64
- ninja -C build
+ ninja -C build %MBUILD_TARGET%
check_world_script: |
vcvarsall x64
@@ -633,7 +636,7 @@ task:
%BASH% -c "meson setup -Ddebug=true -Doptimization=g -Dcassert=true -Dinjection_points=true -Db_pch=true -Dnls=disabled -DTAR=%TAR% build"
build_script: |
- %BASH% -c "ninja -C build"
+ %BASH% -c "ninja -C build ${MBUILD_TARGET}"
upload_caches: ccache