@ -3,7 +3,8 @@
env:
CIRRUS_CLONE_DEPTH : 1
CMAKE_FLAGS : "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCARES_BUILD_TESTS=ON"
CMAKE_FLAGS : "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -G Ninja"
CMAKE_TEST_FLAGS : "-DCARES_BUILD_TESTS=ON"
task:
matrix:
@ -21,6 +22,26 @@ task:
TEST_SYMBOL_VISIBILITY : "yes"
container:
image : debian:latest
- name : "Alpine amd64"
env:
DIST : "ALPINE"
LC_ALL : "C"
SCAN_BUILD : "scan-build"
MAKE : "make"
BUILD_ASAN : "yes"
BUILD_UBSAN : "yes"
BUILD_VALGRIND : "yes"
BUILD_ANALYZE : "yes"
TEST_SYMBOL_VISIBILITY : "yes"
container:
image : alpine:latest
- name : "Ubuntu OLD amd64"
env:
DIST : "UBUNTU"
LC_ALL : "C"
MAKE : "make"
container:
image : ubuntu:20.04
- name : "Debian arm64"
env:
DIST : "DEBIAN-ARM"
@ -55,7 +76,8 @@ task:
env:
DIST : "iOS"
MAKE : "make"
CMAKE_FLAGS : "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCARES_BUILD_TESTS=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 -DCMAKE_OSX_ARCHITECTURES=armv7;armv7s;arm64"
CMAKE_FLAGS : "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 -DCMAKE_OSX_ARCHITECTURES=armv7;armv7s;arm64 -G Ninja"
CMAKE_TEST_FLAGS : "-DCARES_BUILD_TESTS=OFF"
CFLAGS : "-arch armv7 -arch armv7s -arch arm64 -miphoneos-version-min=10.0"
CONFIG_OPTS : "--host=arm-apple-darwin10 --disable-tests"
macos_instance:
@ -68,7 +90,7 @@ task:
only_if : $TEST_SYMBOL_VISIBILITY == 'yes'
env:
BUILD_TYPE : "cmake"
CMAKE_FLAGS : "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=OFF -DCARES_BUILD_TESTS=ON -DCARES_ SYMBOL_HIDING=ON"
CMAKE_FLAGS : "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=OFF -DCARES_SYMBOL_HIDING=ON -G Ninja "
- name : "AUTOTOOLS"
env:
BUILD_TYPE : "autotools"
@ -82,7 +104,7 @@ task:
CONFIG_OPTS : "--enable-debug"
CFLAGS : "-fsanitize=address"
CXXFLAGS : "-fsanitize=address"
LDFLAGS : "-fsanitize=address -lpthread "
LDFLAGS : "-fsanitize=address"
- name : "UBSAN"
# FreeBSD just hangs trying to run tests, think it may be trying to run leak sanitizer
only_if : $BUILD_UBSAN == 'yes'
@ -92,7 +114,7 @@ task:
CONFIG_OPTS : "--enable-debug"
CFLAGS : "-fsanitize=undefined -fno-sanitize-recover"
CXXFLAGS : "-fsanitize=undefined -fno-sanitize-recover"
LDFLAGS : "-fsanitize=undefined -lpthread "
LDFLAGS : "-fsanitize=undefined"
- name : "ANALYZE"
only_if : $BUILD_ANALYZE == 'yes'
env:
@ -100,6 +122,7 @@ task:
CC : "clang"
SCAN_WRAP : "${SCAN_BUILD} -v --status-bugs"
CONFIG_OPTS : "--enable-debug --disable-tests"
CMAKE_TEST_FLAGS : "-DCARES_BUILD_TESTS=OFF"
- name : "VALGRIND"
# FreeBSD just hangs trying to run tests, think it may be trying to run leak sanitizer
only_if : $BUILD_VALGRIND == 'yes'
@ -122,21 +145,39 @@ task:
install_script:
- |
case "${DIST}" in
DEBIAN*)
ALPINE)
apk add cmake samurai gtest-dev autoconf autoconf-archive automake libtool pkgconf make
case "${BUILD_TYPE}" in
asan|lsan|ubsan)
apk add clang17 compiler-rt
;;
analyze)
apk add clang17 clang17-analyzer compiler-rt
;;
valgrind)
apk add gcc g++ valgrind
;;
*)
apk add gcc g++
;;
esac
;;
UBUNTU|DEBIAN*)
export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y cmake ninja-build autoconf automake libtool g++ pip libgmock-dev pkg-config
apt-get install -y cmake ninja-build autoconf automake libtool g++ libgmock-dev pkg-config
case "${BUILD_TYPE}" in
asan|lsan|ubsan)
apt-get install -y clang
apt-get install -yq clang
;;
analyze)
apt-get install -y clang clang-tools
apt-get install -yq clang clang-tools
;;
valgrind)
apt-get install -y valgrind
apt-get install -yq valgrind
;;
coverage)
apt-get install -y lcov git
apt-get install -yq lcov git pip
pip3 install --break-system-packages --user cpp-coveralls
;;
esac