7878 CPUS : 4
7979 BUILD_JOBS : 8
8080 TEST_JOBS : 8
81- IMAGE_FAMILY : pg-ci-bookworm
81+ IMAGE_FAMILY : pg-ci-trixie
8282 CCACHE_DIR : ${CIRRUS_WORKING_DIR}/ccache_dir
8383 # no options enabled, should be small
8484 CCACHE_MAXSIZE : " 150M"
@@ -104,6 +104,7 @@ task:
104104
105105 configure_script : |
106106 su postgres <<-EOF
107+ set -e
107108 meson setup \
108109 --buildtype=debug \
109110 --auto-features=disabled \
@@ -112,6 +113,7 @@ task:
112113 EOF
113114 build_script : |
114115 su postgres <<-EOF
116+ set -e
115117 ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}
116118 EOF
117119 upload_caches : ccache
@@ -121,6 +123,7 @@ task:
121123 # tap test that exercises both a frontend binary and the backend.
122124 test_minimal_script : |
123125 su postgres <<-EOF
126+ set -e
124127 ulimit -c unlimited
125128 meson test $MTEST_ARGS --suite setup
126129 meson test $MTEST_ARGS --num-processes ${TEST_JOBS} \
@@ -195,6 +198,7 @@ task:
195198 # already takes longer than other platforms except for windows.
196199 configure_script : |
197200 su postgres <<-EOF
201+ set -e
198202 meson setup \
199203 --buildtype=debug \
200204 -Dcassert=true -Dinjection_points=true \
@@ -207,6 +211,7 @@ task:
207211
208212 test_world_script : |
209213 su postgres <<-EOF
214+ set -e
210215 ulimit -c unlimited
211216 meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
212217 EOF
@@ -231,6 +236,7 @@ task:
231236 # during upload, as it doesn't expect artifacts to change size
232237 stop_running_script : |
233238 su postgres <<-EOF
239+ set -e
234240 build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop || true
235241 EOF
236242 << : *on_failure_meson
@@ -284,6 +290,7 @@ task:
284290 PKGCONFIG_PATH : ' /usr/lib/pkgconfig:/usr/local/lib/pkgconfig'
285291 UUID : -Duuid=e2fs
286292 TCL : -Dtcl_version=tcl86
293+ CORE_DUMP_EXECUTABLE_DIR : $CIRRUS_WORKING_DIR/build/tmp_install/usr/local/pgsql/bin
287294 setup_additional_packages_script : |
288295 #pkg_add -I ...
289296 # Always core dump to ${CORE_DUMP_DIR}
@@ -316,6 +323,7 @@ task:
316323 # And other uuid options are not available on NetBSD.
317324 configure_script : |
318325 su postgres <<-EOF
326+ set -e
319327 meson setup \
320328 --buildtype=debugoptimized \
321329 --pkg-config-path ${PKGCONFIG_PATH} \
@@ -330,6 +338,7 @@ task:
330338
331339 test_world_script : |
332340 su postgres <<-EOF
341+ set -e
333342 ulimit -c unlimited
334343 # Otherwise tests will fail on OpenBSD, due to inability to start enough
335344 # processes.
@@ -344,7 +353,7 @@ task:
344353 # ${CORE_DUMP_DIR}, they may not obey this. So, move core files to the
345354 # ${CORE_DUMP_DIR} directory.
346355 find build/ -type f -name '*.core' -exec mv '{}' ${CORE_DUMP_DIR} \;
347- src/tools/ci/cores_backtrace.sh ${OS_NAME} ${CORE_DUMP_DIR}
356+ src/tools/ci/cores_backtrace.sh ${OS_NAME} ${CORE_DUMP_DIR} ${CORE_DUMP_EXECUTABLE_DIR}
348357
349358
350359# configure feature flags, shared between the task running the linux tests and
@@ -379,7 +388,7 @@ task:
379388 CPUS : 4
380389 BUILD_JOBS : 4
381390 TEST_JOBS : 8 # experimentally derived to be a decent choice
382- IMAGE_FAMILY : pg-ci-bookworm
391+ IMAGE_FAMILY : pg-ci-trixie
383392
384393 CCACHE_DIR : /tmp/ccache_dir
385394 DEBUGINFOD_URLS : " https://debuginfod.debian.net"
@@ -400,16 +409,14 @@ task:
400409 # print_stacktraces=1,verbosity=2, duh
401410 # detect_leaks=0: too many uninteresting leak errors in short-lived binaries
402411 UBSAN_OPTIONS : print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2
403- ASAN_OPTIONS : print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0
412+ ASAN_OPTIONS : print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0
404413
405414 # SANITIZER_FLAGS is set in the tasks below
406415 CFLAGS : -Og -ggdb -fno-sanitize-recover=all $SANITIZER_FLAGS
407416 CXXFLAGS : $CFLAGS
408417 LDFLAGS : $SANITIZER_FLAGS
409418 CC : ccache gcc
410419 CXX : ccache g++
411- # GCC emits a warning for llvm-14, so switch to a newer one.
412- LLVM_CONFIG : llvm-config-16
413420
414421 LINUX_CONFIGURE_FEATURES : *LINUX_CONFIGURE_FEATURES
415422 LINUX_MESON_FEATURES : *LINUX_MESON_FEATURES
@@ -456,7 +463,7 @@ task:
456463 # - Uses address sanitizer, sanitizer failures are typically printed in
457464 # the server log
458465 # - Configures postgres with a small segment size
459- - name : Linux - Debian Bookworm - Autoconf
466+ - name : Linux - Debian Trixie - Autoconf
460467
461468 env :
462469 SANITIZER_FLAGS : -fsanitize=address
@@ -470,6 +477,7 @@ task:
470477 # that.
471478 configure_script : |
472479 su postgres <<-EOF
480+ set -e
473481 ./configure \
474482 --enable-cassert --enable-injection-points --enable-debug \
475483 --enable-tap-tests --enable-nls \
@@ -479,13 +487,14 @@ task:
479487 \
480488 ${LINUX_CONFIGURE_FEATURES} \
481489 \
482- CLANG="ccache clang-16 "
490+ CLANG="ccache clang"
483491 EOF
484492 build_script : su postgres -c "make -s -j${BUILD_JOBS} world-bin"
485493 upload_caches : ccache
486494
487495 test_world_script : |
488496 su postgres <<-EOF
497+ set -e
489498 ulimit -c unlimited # default is 0
490499 make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
491500 EOF
@@ -498,7 +507,7 @@ task:
498507 # are typically printed in the server log
499508 # - Test both 64bit and 32 bit builds
500509 # - uses io_method=io_uring
501- - name : Linux - Debian Bookworm - Meson
510+ - name : Linux - Debian Trixie - Meson
502511
503512 env :
504513 CCACHE_MAXSIZE : " 400M" # tests two different builds
@@ -508,6 +517,7 @@ task:
508517
509518 configure_script : |
510519 su postgres <<-EOF
520+ set -e
511521 meson setup \
512522 --buildtype=debug \
513523 -Dcassert=true -Dinjection_points=true \
@@ -519,26 +529,29 @@ task:
519529 # locally.
520530 configure_32_script : |
521531 su postgres <<-EOF
532+ set -e
522533 export CC='ccache gcc -m32'
523534 meson setup \
524535 --buildtype=debug \
525536 -Dcassert=true -Dinjection_points=true \
526537 ${LINUX_MESON_FEATURES} \
527538 -Dllvm=disabled \
528539 --pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \
529- -DPERL=perl5.36 -i386-linux-gnu \
540+ -DPERL=perl5.40 -i386-linux-gnu \
530541 -Dlibnuma=disabled \
531542 build-32
532543 EOF
533544
534545 build_script : |
535546 su postgres <<-EOF
547+ set -e
536548 ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}
537549 ninja -C build -t missingdeps
538550 EOF
539551
540552 build_32_script : |
541553 su postgres <<-EOF
554+ set -e
542555 ninja -C build-32 -j${BUILD_JOBS} ${MBUILD_TARGET}
543556 ninja -C build -t missingdeps
544557 EOF
@@ -547,6 +560,7 @@ task:
547560
548561 test_world_script : |
549562 su postgres <<-EOF
563+ set -e
550564 ulimit -c unlimited
551565 meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
552566 EOF
@@ -559,6 +573,7 @@ task:
559573 # from C, prevent that with PYTHONCOERCECLOCALE.
560574 test_world_32_script : |
561575 su postgres <<-EOF
576+ set -e
562577 ulimit -c unlimited
563578 PYTHONCOERCECLOCALE=0 LANG=C meson test $MTEST_ARGS -C build-32 --num-processes ${TEST_JOBS}
564579 EOF
@@ -576,7 +591,7 @@ task:
576591# SPECIAL:
577592# - Enables --clone for pg_upgrade and pg_combinebackup
578593task :
579- name : macOS - Sonoma - Meson
594+ name : macOS - Sequoia - Meson
580595
581596 env :
582597 CPUS : 4 # always get that much for cirrusci macOS instances
@@ -585,7 +600,7 @@ task:
585600 # work OK. See
586601 # https://postgr.es/m/20220927040208.l3shfcidovpzqxfh%40awork3.anarazel.de
587602 TEST_JOBS : 8
588- IMAGE : ghcr.io/cirruslabs/macos-runner:sonoma
603+ IMAGE : ghcr.io/cirruslabs/macos-runner:sequoia
589604
590605 CIRRUS_WORKING_DIR : ${HOME}/pgsql/
591606 CCACHE_DIR : ${HOME}/ccache
@@ -704,7 +719,7 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE
704719
705720
706721task :
707- name : Windows - Server 2019 , VS 2019 - Meson & ninja
722+ name : Windows - Server 2022 , VS 2019 - Meson & ninja
708723 << : *WINDOWS_ENVIRONMENT_BASE
709724
710725 env :
@@ -755,7 +770,7 @@ task:
755770
756771task :
757772 << : *WINDOWS_ENVIRONMENT_BASE
758- name : Windows - Server 2019 , MinGW64 - Meson
773+ name : Windows - Server 2022 , MinGW64 - Meson
759774
760775 # See REPO_CI_AUTOMATIC_TRIGGER_TASKS in .cirrus.star.
761776 trigger_type : $CI_TRIGGER_TYPE_MINGW
@@ -822,7 +837,7 @@ task:
822837 env :
823838 CPUS : 4
824839 BUILD_JOBS : 4
825- IMAGE_FAMILY : pg-ci-bookworm
840+ IMAGE_FAMILY : pg-ci-trixie
826841
827842 # Use larger ccache cache, as this task compiles with multiple compilers /
828843 # flag combinations
@@ -832,9 +847,6 @@ task:
832847 LINUX_CONFIGURE_FEATURES : *LINUX_CONFIGURE_FEATURES
833848 LINUX_MESON_FEATURES : *LINUX_MESON_FEATURES
834849
835- # GCC emits a warning for llvm-14, so switch to a newer one.
836- LLVM_CONFIG : llvm-config-16
837-
838850 << : *linux_task_template
839851
840852 sysinfo_script : |
@@ -870,7 +882,7 @@ task:
870882 --cache gcc.cache \
871883 --enable-dtrace \
872884 ${LINUX_CONFIGURE_FEATURES} \
873- CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16 "
885+ CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
874886 make -s -j${BUILD_JOBS} clean
875887 time make -s -j${BUILD_JOBS} world-bin
876888
@@ -881,7 +893,7 @@ task:
881893 --cache gcc.cache \
882894 --enable-cassert \
883895 ${LINUX_CONFIGURE_FEATURES} \
884- CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16 "
896+ CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
885897 make -s -j${BUILD_JOBS} clean
886898 time make -s -j${BUILD_JOBS} world-bin
887899
@@ -891,7 +903,7 @@ task:
891903 time ./configure \
892904 --cache clang.cache \
893905 ${LINUX_CONFIGURE_FEATURES} \
894- CC="ccache clang" CXX="ccache clang++-16 " CLANG="ccache clang-16 "
906+ CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
895907 make -s -j${BUILD_JOBS} clean
896908 time make -s -j${BUILD_JOBS} world-bin
897909
@@ -903,19 +915,19 @@ task:
903915 --enable-cassert \
904916 --enable-dtrace \
905917 ${LINUX_CONFIGURE_FEATURES} \
906- CC="ccache clang" CXX="ccache clang++-16 " CLANG="ccache clang-16 "
918+ CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
907919 make -s -j${BUILD_JOBS} clean
908920 time make -s -j${BUILD_JOBS} world-bin
909921
910922 # cross-compile to windows
911923 always :
912924 mingw_cross_warning_script : |
913925 time ./configure \
914- --host=x86_64-w64-mingw32 \
926+ --host=x86_64-w64-mingw32ucrt \
915927 --enable-cassert \
916928 --without-icu \
917- CC="ccache x86_64-w64-mingw32 -gcc" \
918- CXX="ccache x86_64-w64-mingw32 -g++"
929+ CC="ccache x86_64-w64-mingw32ucrt -gcc" \
930+ CXX="ccache x86_64-w64-mingw32ucrt -g++"
919931 make -s -j${BUILD_JOBS} clean
920932 time make -s -j${BUILD_JOBS} world-bin
921933
@@ -927,7 +939,7 @@ task:
927939 docs_build_script : |
928940 time ./configure \
929941 --cache gcc.cache \
930- CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16 "
942+ CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
931943 make -s -j${BUILD_JOBS} clean
932944 time make -s -j${BUILD_JOBS} -C doc
933945
@@ -943,7 +955,7 @@ task:
943955 time ./configure \
944956 ${LINUX_CONFIGURE_FEATURES} \
945957 --quiet \
946- CC="gcc" CXX"=g++" CLANG="clang-16 "
958+ CC="gcc" CXX"=g++" CLANG="clang"
947959 make -s -j${BUILD_JOBS} clean
948960 time make -s headerscheck EXTRAFLAGS='-fmax-errors=10'
949961 headers_cpluspluscheck_script : |
0 commit comments