mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +03:00
ci: debian: Switch to Debian Trixie release
Debian Trixie CI images are generated now [1], so use them with the following changes: - detect_stack_use_after_return=0 option is added to the ASAN_OPTIONS because ASAN uses a "shadow stack" to track stack variable lifetimes and this confuses Postgres' stack depth check [2]. - Perl is updated to the newer version (perl5.40-i386-linux-gnu). - LLVM-14 is no longer default installation, no need to force using LLVM-16. - Switch MinGW CC/CXX to x86_64-w64-mingw32ucrt-* to fix build failure from missing _iswctype_l in mingw-w64 v12 headers. [1] https://github.com/anarazel/pg-vm-images/commit/35a144793f [2] https://postgr.es/m/20240130212304.q66rquj5es4375ab%40awork3.anarazel.de Author: Nazir Bilal Yavuz <byavuz81@gmail.com> Discussion: https://postgr.es/m/CAN55FZ1_B1usTskAv+AYt1bA7abVd9YH6XrUUSbr-2Z0d5Wd8w@mail.gmail.com Backpatch: 15-, where CI support was added
This commit is contained in:
@@ -103,7 +103,7 @@ task:
|
|||||||
CPUS: 4
|
CPUS: 4
|
||||||
BUILD_JOBS: 8
|
BUILD_JOBS: 8
|
||||||
TEST_JOBS: 8
|
TEST_JOBS: 8
|
||||||
IMAGE_FAMILY: pg-ci-bookworm
|
IMAGE_FAMILY: pg-ci-trixie
|
||||||
CCACHE_DIR: ${CIRRUS_WORKING_DIR}/ccache_dir
|
CCACHE_DIR: ${CIRRUS_WORKING_DIR}/ccache_dir
|
||||||
# no options enabled, should be small
|
# no options enabled, should be small
|
||||||
CCACHE_MAXSIZE: "150M"
|
CCACHE_MAXSIZE: "150M"
|
||||||
@@ -419,7 +419,7 @@ task:
|
|||||||
CPUS: 4
|
CPUS: 4
|
||||||
BUILD_JOBS: 4
|
BUILD_JOBS: 4
|
||||||
TEST_JOBS: 8 # experimentally derived to be a decent choice
|
TEST_JOBS: 8 # experimentally derived to be a decent choice
|
||||||
IMAGE_FAMILY: pg-ci-bookworm
|
IMAGE_FAMILY: pg-ci-trixie
|
||||||
|
|
||||||
CCACHE_DIR: /tmp/ccache_dir
|
CCACHE_DIR: /tmp/ccache_dir
|
||||||
DEBUGINFOD_URLS: "https://debuginfod.debian.net"
|
DEBUGINFOD_URLS: "https://debuginfod.debian.net"
|
||||||
@@ -440,7 +440,7 @@ task:
|
|||||||
# print_stacktraces=1,verbosity=2, duh
|
# print_stacktraces=1,verbosity=2, duh
|
||||||
# detect_leaks=0: too many uninteresting leak errors in short-lived binaries
|
# detect_leaks=0: too many uninteresting leak errors in short-lived binaries
|
||||||
UBSAN_OPTIONS: print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2
|
UBSAN_OPTIONS: print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2
|
||||||
ASAN_OPTIONS: print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0
|
ASAN_OPTIONS: print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0
|
||||||
|
|
||||||
# SANITIZER_FLAGS is set in the tasks below
|
# SANITIZER_FLAGS is set in the tasks below
|
||||||
CFLAGS: -Og -ggdb -fno-sanitize-recover=all $SANITIZER_FLAGS
|
CFLAGS: -Og -ggdb -fno-sanitize-recover=all $SANITIZER_FLAGS
|
||||||
@@ -448,8 +448,6 @@ task:
|
|||||||
LDFLAGS: $SANITIZER_FLAGS
|
LDFLAGS: $SANITIZER_FLAGS
|
||||||
CC: ccache gcc
|
CC: ccache gcc
|
||||||
CXX: ccache g++
|
CXX: ccache g++
|
||||||
# GCC emits a warning for llvm-14, so switch to a newer one.
|
|
||||||
LLVM_CONFIG: llvm-config-16
|
|
||||||
|
|
||||||
LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES
|
LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES
|
||||||
LINUX_MESON_FEATURES: >-
|
LINUX_MESON_FEATURES: >-
|
||||||
@@ -497,7 +495,7 @@ task:
|
|||||||
# - Uses address sanitizer, sanitizer failures are typically printed in
|
# - Uses address sanitizer, sanitizer failures are typically printed in
|
||||||
# the server log
|
# the server log
|
||||||
# - Configures postgres with a small segment size
|
# - Configures postgres with a small segment size
|
||||||
- name: Linux - Debian Bookworm - Autoconf
|
- name: Linux - Debian Trixie - Autoconf
|
||||||
|
|
||||||
env:
|
env:
|
||||||
SANITIZER_FLAGS: -fsanitize=address
|
SANITIZER_FLAGS: -fsanitize=address
|
||||||
@@ -520,7 +518,7 @@ task:
|
|||||||
\
|
\
|
||||||
${LINUX_CONFIGURE_FEATURES} \
|
${LINUX_CONFIGURE_FEATURES} \
|
||||||
\
|
\
|
||||||
CLANG="ccache clang-16"
|
CLANG="ccache clang"
|
||||||
EOF
|
EOF
|
||||||
build_script: su postgres -c "make -s -j${BUILD_JOBS} world-bin"
|
build_script: su postgres -c "make -s -j${BUILD_JOBS} world-bin"
|
||||||
upload_caches: ccache
|
upload_caches: ccache
|
||||||
@@ -540,7 +538,7 @@ task:
|
|||||||
# - Test both 64bit and 32 bit builds
|
# - Test both 64bit and 32 bit builds
|
||||||
# - uses io_method=io_uring
|
# - uses io_method=io_uring
|
||||||
# - Uses meson feature autodetection
|
# - Uses meson feature autodetection
|
||||||
- name: Linux - Debian Bookworm - Meson
|
- name: Linux - Debian Trixie - Meson
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CCACHE_MAXSIZE: "400M" # tests two different builds
|
CCACHE_MAXSIZE: "400M" # tests two different builds
|
||||||
@@ -566,7 +564,7 @@ task:
|
|||||||
${MESON_COMMON_PG_CONFIG_ARGS} \
|
${MESON_COMMON_PG_CONFIG_ARGS} \
|
||||||
--buildtype=debug \
|
--buildtype=debug \
|
||||||
--pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \
|
--pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \
|
||||||
-DPERL=perl5.36-i386-linux-gnu \
|
-DPERL=perl5.40-i386-linux-gnu \
|
||||||
${LINUX_MESON_FEATURES} -Dlibnuma=disabled \
|
${LINUX_MESON_FEATURES} -Dlibnuma=disabled \
|
||||||
build-32
|
build-32
|
||||||
EOF
|
EOF
|
||||||
@@ -882,7 +880,7 @@ task:
|
|||||||
env:
|
env:
|
||||||
CPUS: 4
|
CPUS: 4
|
||||||
BUILD_JOBS: 4
|
BUILD_JOBS: 4
|
||||||
IMAGE_FAMILY: pg-ci-bookworm
|
IMAGE_FAMILY: pg-ci-trixie
|
||||||
|
|
||||||
# Use larger ccache cache, as this task compiles with multiple compilers /
|
# Use larger ccache cache, as this task compiles with multiple compilers /
|
||||||
# flag combinations
|
# flag combinations
|
||||||
@@ -891,9 +889,6 @@ task:
|
|||||||
|
|
||||||
LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES
|
LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES
|
||||||
|
|
||||||
# GCC emits a warning for llvm-14, so switch to a newer one.
|
|
||||||
LLVM_CONFIG: llvm-config-16
|
|
||||||
|
|
||||||
<<: *linux_task_template
|
<<: *linux_task_template
|
||||||
|
|
||||||
sysinfo_script: |
|
sysinfo_script: |
|
||||||
@@ -929,7 +924,7 @@ task:
|
|||||||
--cache gcc.cache \
|
--cache gcc.cache \
|
||||||
--enable-dtrace \
|
--enable-dtrace \
|
||||||
${LINUX_CONFIGURE_FEATURES} \
|
${LINUX_CONFIGURE_FEATURES} \
|
||||||
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16"
|
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
|
||||||
make -s -j${BUILD_JOBS} clean
|
make -s -j${BUILD_JOBS} clean
|
||||||
time make -s -j${BUILD_JOBS} world-bin
|
time make -s -j${BUILD_JOBS} world-bin
|
||||||
|
|
||||||
@@ -940,7 +935,7 @@ task:
|
|||||||
--cache gcc.cache \
|
--cache gcc.cache \
|
||||||
--enable-cassert \
|
--enable-cassert \
|
||||||
${LINUX_CONFIGURE_FEATURES} \
|
${LINUX_CONFIGURE_FEATURES} \
|
||||||
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16"
|
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
|
||||||
make -s -j${BUILD_JOBS} clean
|
make -s -j${BUILD_JOBS} clean
|
||||||
time make -s -j${BUILD_JOBS} world-bin
|
time make -s -j${BUILD_JOBS} world-bin
|
||||||
|
|
||||||
@@ -950,7 +945,7 @@ task:
|
|||||||
time ./configure \
|
time ./configure \
|
||||||
--cache clang.cache \
|
--cache clang.cache \
|
||||||
${LINUX_CONFIGURE_FEATURES} \
|
${LINUX_CONFIGURE_FEATURES} \
|
||||||
CC="ccache clang" CXX="ccache clang++-16" CLANG="ccache clang-16"
|
CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
|
||||||
make -s -j${BUILD_JOBS} clean
|
make -s -j${BUILD_JOBS} clean
|
||||||
time make -s -j${BUILD_JOBS} world-bin
|
time make -s -j${BUILD_JOBS} world-bin
|
||||||
|
|
||||||
@@ -962,7 +957,7 @@ task:
|
|||||||
--enable-cassert \
|
--enable-cassert \
|
||||||
--enable-dtrace \
|
--enable-dtrace \
|
||||||
${LINUX_CONFIGURE_FEATURES} \
|
${LINUX_CONFIGURE_FEATURES} \
|
||||||
CC="ccache clang" CXX="ccache clang++-16" CLANG="ccache clang-16"
|
CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
|
||||||
make -s -j${BUILD_JOBS} clean
|
make -s -j${BUILD_JOBS} clean
|
||||||
time make -s -j${BUILD_JOBS} world-bin
|
time make -s -j${BUILD_JOBS} world-bin
|
||||||
|
|
||||||
@@ -970,11 +965,11 @@ task:
|
|||||||
always:
|
always:
|
||||||
mingw_cross_warning_script: |
|
mingw_cross_warning_script: |
|
||||||
time ./configure \
|
time ./configure \
|
||||||
--host=x86_64-w64-mingw32 \
|
--host=x86_64-w64-mingw32ucrt \
|
||||||
--enable-cassert \
|
--enable-cassert \
|
||||||
--without-icu \
|
--without-icu \
|
||||||
CC="ccache x86_64-w64-mingw32-gcc" \
|
CC="ccache x86_64-w64-mingw32ucrt-gcc" \
|
||||||
CXX="ccache x86_64-w64-mingw32-g++"
|
CXX="ccache x86_64-w64-mingw32ucrt-g++"
|
||||||
make -s -j${BUILD_JOBS} clean
|
make -s -j${BUILD_JOBS} clean
|
||||||
time make -s -j${BUILD_JOBS} world-bin
|
time make -s -j${BUILD_JOBS} world-bin
|
||||||
|
|
||||||
@@ -986,7 +981,7 @@ task:
|
|||||||
docs_build_script: |
|
docs_build_script: |
|
||||||
time ./configure \
|
time ./configure \
|
||||||
--cache gcc.cache \
|
--cache gcc.cache \
|
||||||
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16"
|
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
|
||||||
make -s -j${BUILD_JOBS} clean
|
make -s -j${BUILD_JOBS} clean
|
||||||
time make -s -j${BUILD_JOBS} -C doc
|
time make -s -j${BUILD_JOBS} -C doc
|
||||||
|
|
||||||
@@ -1002,7 +997,7 @@ task:
|
|||||||
time ./configure \
|
time ./configure \
|
||||||
${LINUX_CONFIGURE_FEATURES} \
|
${LINUX_CONFIGURE_FEATURES} \
|
||||||
--quiet \
|
--quiet \
|
||||||
CC="gcc" CXX"=g++" CLANG="clang-16"
|
CC="gcc" CXX"=g++" CLANG="clang"
|
||||||
make -s -j${BUILD_JOBS} clean
|
make -s -j${BUILD_JOBS} clean
|
||||||
time make -s headerscheck EXTRAFLAGS='-fmax-errors=10'
|
time make -s headerscheck EXTRAFLAGS='-fmax-errors=10'
|
||||||
headers_cpluspluscheck_script: |
|
headers_cpluspluscheck_script: |
|
||||||
|
|||||||
Reference in New Issue
Block a user