postgres.git / summary / log / commit / refs

commit    d9b5e2fc09b65a6512561c7dbb97e0836dcf933e
Author:   Andres Freund <andres@anarazel.de>
Date:     Tue Feb 04 22:45:57 2025 +0000
First released in: 18.0, 16.7, 17.3

    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


.cirrus.tasks.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index 197270feeaa..ab44d24e347 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 @@ -176,7 +179,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: | @@ -378,8 +381,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 @@ -498,7 +501,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: | @@ -571,7 +574,7 @@ task: build_script: | vcvarsall x64 - ninja -C build + ninja -C build %MBUILD_TARGET% check_world_script: | vcvarsall x64 @@ -629,7 +632,7 @@ task: %BASH% -c "meson setup -Ddebug=true -Doptimization=g -Dcassert=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 [parent: ad80e5823a50]