6565 CPUS : 4
6666 BUILD_JOBS : 8
6767 TEST_JOBS : 8
68- IMAGE_FAMILY : pg-ci-bullseye
68+ IMAGE_FAMILY : pg-ci-bookworm
6969 CCACHE_DIR : ${CIRRUS_WORKING_DIR}/ccache_dir
7070 # no options enabled, should be small
7171 CCACHE_MAXSIZE : " 150M"
@@ -133,9 +133,10 @@ task:
133133 DISK_SIZE : 50
134134
135135 CCACHE_DIR : /tmp/ccache_dir
136- CPPFLAGS : -DRELCACHE_FORCE_RELEASE -DCOPY_PARSE_PLAN_TREES -DWRITE_READ_PARSE_PLAN_TREES -DRAW_EXPRESSION_COVERAGE_TEST - DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS
136+ CPPFLAGS : -DRELCACHE_FORCE_RELEASE -DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS
137137 CFLAGS : -Og -ggdb
138138
139+ PG_TEST_INITDB_EXTRA_OPTS : -c debug_copy_parse_plan_trees=on -c debug_write_read_parse_plan_trees=on -c debug_raw_expression_coverage_test=on
139140 PG_TEST_PG_UPGRADE_MODE : --link
140141
141142 << : *freebsd_task_template
@@ -243,7 +244,7 @@ task:
243244 CPUS : 4
244245 BUILD_JOBS : 4
245246 TEST_JOBS : 8 # experimentally derived to be a decent choice
246- IMAGE_FAMILY : pg-ci-bullseye
247+ IMAGE_FAMILY : pg-ci-bookworm
247248
248249 CCACHE_DIR : /tmp/ccache_dir
249250 DEBUGINFOD_URLS : " https://debuginfod.debian.net"
@@ -272,6 +273,8 @@ task:
272273 LDFLAGS : $SANITIZER_FLAGS
273274 CC : ccache gcc
274275 CXX : ccache g++
276+ # GCC emits a warning for llvm-14, so switch to a newer one.
277+ LLVM_CONFIG : llvm-config-16
275278
276279 LINUX_CONFIGURE_FEATURES : *LINUX_CONFIGURE_FEATURES
277280 LINUX_MESON_FEATURES : *LINUX_MESON_FEATURES
@@ -314,10 +317,11 @@ task:
314317 #DEBIAN_FRONTEND=noninteractive apt-get -y install ...
315318
316319 matrix :
317- - name : Linux - Debian Bullseye - Autoconf
320+ - name : Linux - Debian Bookworm - Autoconf
318321
319322 env :
320323 SANITIZER_FLAGS : -fsanitize=address
324+ PG_TEST_PG_COMBINEBACKUP_MODE : --copy-file-range
321325
322326 # Normally, the "relation segment" code basically has no coverage in our
323327 # tests, because we (quite reasonably) don't generate tables large
@@ -334,7 +338,7 @@ task:
334338 \
335339 ${LINUX_CONFIGURE_FEATURES} \
336340 \
337- CLANG="ccache clang"
341+ CLANG="ccache clang-16 "
338342 EOF
339343 build_script : su postgres -c "make -s -j${BUILD_JOBS} world-bin"
340344 upload_caches : ccache
@@ -348,7 +352,7 @@ task:
348352 on_failure :
349353 << : *on_failure_ac
350354
351- - name : Linux - Debian Bullseye - Meson
355+ - name : Linux - Debian Bookworm - Meson
352356
353357 env :
354358 CCACHE_MAXSIZE : " 400M" # tests two different builds
@@ -375,7 +379,7 @@ task:
375379 ${LINUX_MESON_FEATURES} \
376380 -Dllvm=disabled \
377381 --pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \
378- -DPERL=perl5.32 -i386-linux-gnu \
382+ -DPERL=perl5.36 -i386-linux-gnu \
379383 -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
380384 build-32
381385 EOF
@@ -411,7 +415,7 @@ task:
411415
412416
413417task :
414- name : macOS - Ventura - Meson
418+ name : macOS - Sonoma - Meson
415419
416420 env :
417421 CPUS : 4 # always get that much for cirrusci macOS instances
@@ -420,7 +424,7 @@ task:
420424 # work OK. See
421425 # https://postgr.es/m/20220927040208.l3shfcidovpzqxfh%40awork3.anarazel.de
422426 TEST_JOBS : 8
423- IMAGE : ghcr.io/cirruslabs/macos-ventura-base:latest
427+ IMAGE : ghcr.io/cirruslabs/macos-runner:sonoma
424428
425429 CIRRUS_WORKING_DIR : ${HOME}/pgsql/
426430 CCACHE_DIR : ${HOME}/ccache
@@ -432,6 +436,7 @@ task:
432436 CXXFLAGS : -Og -ggdb
433437
434438 PG_TEST_PG_UPGRADE_MODE : --clone
439+ PG_TEST_PG_COMBINEBACKUP_MODE : --clone
435440
436441 << : *macos_task_template
437442
@@ -460,6 +465,13 @@ task:
460465 # updates macports every time.
461466 macports_cache :
462467 folder : ${MACPORTS_CACHE}
468+ fingerprint_script : |
469+ # Include the OS major version in the cache key. If the OS image changes
470+ # to a different major version, we need to reinstall.
471+ sw_vers -productVersion | sed 's/\..*//'
472+ # Also start afresh if we change our MacPorts install script.
473+ md5 src/tools/ci/ci_macports_packages.sh
474+ reupload_on_changes : true
463475 setup_additional_packages_script : |
464476 sh src/tools/ci/ci_macports_packages.sh \
465477 ccache \
@@ -520,6 +532,7 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE
520532 PG_TEST_USE_UNIX_SOCKETS : 1
521533 PG_REGRESS_SOCK_DIR : " c:/cirrus/"
522534 DISK_SIZE : 50
535+ IMAGE_FAMILY : pg-ci-windows-ci
523536
524537 sysinfo_script : |
525538 chcp
@@ -543,7 +556,6 @@ task:
543556 # given that it explicitly prevents crash dumps from working...
544557 # 0x8001 is SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX
545558 CIRRUS_WINDOWS_ERROR_MODE : 0x8001
546- IMAGE_FAMILY : pg-ci-windows-ci-vs-2019
547559
548560 << : *windows_task_template
549561
@@ -604,7 +616,6 @@ task:
604616 # Start bash in current working directory
605617 CHERE_INVOKING : 1
606618 BASH : C:\msys64\usr\bin\bash.exe -l
607- IMAGE_FAMILY : pg-ci-windows-ci-mingw64
608619
609620 << : *windows_task_template
610621
@@ -652,7 +663,7 @@ task:
652663 env :
653664 CPUS : 4
654665 BUILD_JOBS : 4
655- IMAGE_FAMILY : pg-ci-bullseye
666+ IMAGE_FAMILY : pg-ci-bookworm
656667
657668 # Use larger ccache cache, as this task compiles with multiple compilers /
658669 # flag combinations
@@ -662,6 +673,9 @@ task:
662673 LINUX_CONFIGURE_FEATURES : *LINUX_CONFIGURE_FEATURES
663674 LINUX_MESON_FEATURES : *LINUX_MESON_FEATURES
664675
676+ # GCC emits a warning for llvm-14, so switch to a newer one.
677+ LLVM_CONFIG : llvm-config-16
678+
665679 << : *linux_task_template
666680
667681 sysinfo_script : |
@@ -697,7 +711,7 @@ task:
697711 --cache gcc.cache \
698712 --enable-dtrace \
699713 ${LINUX_CONFIGURE_FEATURES} \
700- CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
714+ CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16 "
701715 make -s -j${BUILD_JOBS} clean
702716 time make -s -j${BUILD_JOBS} world-bin
703717
@@ -708,7 +722,7 @@ task:
708722 --cache gcc.cache \
709723 --enable-cassert \
710724 ${LINUX_CONFIGURE_FEATURES} \
711- CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
725+ CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16 "
712726 make -s -j${BUILD_JOBS} clean
713727 time make -s -j${BUILD_JOBS} world-bin
714728
@@ -718,7 +732,7 @@ task:
718732 time ./configure \
719733 --cache clang.cache \
720734 ${LINUX_CONFIGURE_FEATURES} \
721- CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
735+ CC="ccache clang" CXX="ccache clang++-16 " CLANG="ccache clang-16 "
722736 make -s -j${BUILD_JOBS} clean
723737 time make -s -j${BUILD_JOBS} world-bin
724738
@@ -730,7 +744,7 @@ task:
730744 --enable-cassert \
731745 --enable-dtrace \
732746 ${LINUX_CONFIGURE_FEATURES} \
733- CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
747+ CC="ccache clang" CXX="ccache clang++-16 " CLANG="ccache clang-16 "
734748 make -s -j${BUILD_JOBS} clean
735749 time make -s -j${BUILD_JOBS} world-bin
736750
@@ -754,9 +768,7 @@ task:
754768 docs_build_script : |
755769 time ./configure \
756770 --cache gcc.cache \
757- CC="ccache gcc" \
758- CXX="ccache g++" \
759- CLANG="ccache clang"
771+ CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16"
760772 make -s -j${BUILD_JOBS} clean
761773 time make -s -j${BUILD_JOBS} -C doc
762774
@@ -775,7 +787,7 @@ task:
775787 ${LINUX_CONFIGURE_FEATURES} \
776788 --without-icu \
777789 --quiet \
778- CC="gcc" CXX"=g++" CLANG="clang"
790+ CC="gcc" CXX"=g++" CLANG="clang-16 "
779791 make -s -j${BUILD_JOBS} clean
780792 time make -s headerscheck EXTRAFLAGS='-fmax-errors=10'
781793 headers_cpluspluscheck_script : |
0 commit comments