build:
<<: *build
script:
- - meson build_ci --default-library=static --prefix=$PREFIX -Dwerror=true -Dextra_tests=enabled
+ - meson build_ci --default-library=static --prefix=$PREFIX -Dmalloc=disabled -Dwerror=true -Dextra_tests=enabled
- ninja -C build_ci
- ninja -C build_ci install >/dev/null
- ${MESON_TEST} --suite unit --suite config --no-suite snowflake
<<: *build
image: $CI_REGISTRY/knot/knot-resolver/ci/debian-11:knot-3.2
script:
- - meson build_ci_knot32 --default-library=static --prefix=$PREFIX -Dwerror=true -Dextra_tests=enabled
+ - meson build_ci_knot32 --default-library=static --prefix=$PREFIX -Dmalloc=disabled -Dwerror=true -Dextra_tests=enabled
- ninja -C build_ci_knot32
- ninja -C build_ci_knot32 install >/dev/null
- ${MESON_TEST} --suite unit --suite config --no-suite snowflake
<<: *build
script:
# "undefined" sanitizer causes C++ issues when loading ahocorasick.so in CI
- - CC=clang CXX=clang++ CFLAGS=-fno-sanitize-recover=all CXXFLAGS=-fno-sanitize=undefined meson build_ci_asan --default-library=static --prefix=$PREFIX -Db_sanitize=address,undefined -Dextra_tests=enabled
+ - CC=clang CXX=clang++ CFLAGS=-fno-sanitize-recover=all CXXFLAGS=-fno-sanitize=undefined meson build_ci_asan --default-library=static --prefix=$PREFIX -Dmalloc=jemalloc -Db_sanitize=address,undefined -Dextra_tests=enabled
- ninja -C build_ci_asan
- ninja -C build_ci_asan install >/dev/null
# TODO _leaks: not sure what exactly is wrong in leak detection on config tests
- tags
- master@knot/knot-resolver
script:
- - meson build_sonarcloud --default-library=static --prefix=$PREFIX
+ - meson build_sonarcloud --default-library=static --prefix=$PREFIX -Dmalloc=disabled
- build-wrapper-linux-x86-64 --out-dir bw-output ninja -C build_sonarcloud
- >
sonar-scanner
deckard:
<<: *test_flaky
+ # Deckard won't work with jemalloc due to a faketime bug:
+ # https://github.com/wolfcw/libfaketime/issues/130
only: # trigger job only in repos under our control (privileged runner required)
- branches@knot/knot-resolver
- branches@knot/security/knot-resolver
RUN apt-get install -y -qqq git make cmake pkg-config meson \
build-essential bsdmainutils libtool autoconf libcmocka-dev \
liburcu-dev libgnutls28-dev libedit-dev liblmdb-dev libcap-ng-dev libsystemd-dev \
- libelf-dev libmnl-dev libidn11-dev libuv1-dev \
+ libelf-dev libmnl-dev libidn11-dev libuv1-dev libjemalloc-dev \
libluajit-5.1-dev lua-http libssl-dev libnghttp2-dev
# Build and testing deps for Resolver's dnstap module (go stuff is just for testing)