parent
abed6353d4
commit
001ed0aaf0
3 changed files with 150 additions and 20 deletions
@ -0,0 +1,113 @@ |
||||
env: |
||||
CIRRUS_CLONE_DEPTH: 1 |
||||
|
||||
task: |
||||
matrix: |
||||
- name: "Debian amd64" |
||||
env: |
||||
DIST: "DEBIAN" |
||||
LC_ALL: "C" |
||||
SCAN_BUILD: "scan-build" |
||||
MAKE: "make" |
||||
container: |
||||
image: debian:latest |
||||
- name: "Debian arm64" |
||||
env: |
||||
DIST: "DEBIAN" |
||||
LC_ALL: "C" |
||||
SCAN_BUILD: "scan-build" |
||||
MAKE: "make" |
||||
arm_container: |
||||
image: debian:latest |
||||
- name: "FreeBSD amd64" |
||||
env: |
||||
DIST: "FREEBSD" |
||||
SCAN_BUILD: "scan-build" |
||||
MAKE: "gmake" |
||||
freebsd_instance: |
||||
image_family: freebsd-13-0 |
||||
- name: "MacOS" |
||||
env: |
||||
DIST: "MACOS" |
||||
SCAN_BUILD: "/usr/local/opt/llvm/bin/scan-build" |
||||
MAKE: "make" |
||||
macos_instance: |
||||
image: big-sur-xcode |
||||
matrix: |
||||
- name: "CMAKE" |
||||
env: |
||||
BUILD_TYPE: "cmake" |
||||
- name: "AUTOTOOLS" |
||||
env: |
||||
BUILD_TYPE: "autotools" |
||||
- name: "ASAN" |
||||
# FreeBSD just hangs trying to run tests, think it may be trying to run leak sanitizer |
||||
only_if: $DIST != 'FREEBSD' |
||||
env: |
||||
BUILD_TYPE: "asan" |
||||
CONFIG_OPTS: "--enable-debug" |
||||
CFLAGS: "-fsanitize=address" |
||||
CXXFLAGS: "-fsanitize=address" |
||||
LDFLAGS: "-fsanitize=address" |
||||
- name: "ANALYZE" |
||||
env: |
||||
BUILD_TYPE: "analyze" |
||||
SCAN_WRAP: "${SCAN_BUILD} -v --status-bugs" |
||||
CONFIG_OPTS: "--enable-debug --disable-tests" |
||||
- name: "VALGRIND" |
||||
# FreeBSD just hangs trying to run tests, think it may be trying to run leak sanitizer |
||||
only_if: $DIST == 'DEBIAN' |
||||
env: |
||||
BUILD_TYPE: "valgrind" |
||||
TEST_WRAP: "valgrind --leak-check=full" |
||||
TEST_FILTER: "--gtest_filter=-*Container*:-*LiveSearchANY*" |
||||
|
||||
install_script: |
||||
- | |
||||
case "${DIST}" in |
||||
DEBIAN) |
||||
apt-get update && \ |
||||
apt-get install -y cmake ninja-build |
||||
case "${BUILD_TYPE}" in |
||||
asan) |
||||
apt-get install -y clang |
||||
;; |
||||
analyze) |
||||
apt-get install -y clang clang-tools |
||||
;; |
||||
valgrind) |
||||
apt-get install -y valgrind |
||||
;; |
||||
esac |
||||
;; |
||||
FREEBSD) |
||||
# pkg upgrade -y && \ |
||||
pkg install -y cmake ninja |
||||
case "${BUILD_TYPE}" in |
||||
asan|analyze) |
||||
pkg install -y llvm |
||||
;; |
||||
autotools) |
||||
pkg install -y autoconf automake libtool gmake |
||||
;; |
||||
esac |
||||
;; |
||||
MACOS) |
||||
brew update && \ |
||||
brew install ninja cmake |
||||
case "${BUILD_TYPE}" in |
||||
asan|analyze) |
||||
brew install llvm |
||||
;; |
||||
autotools) |
||||
brew install autoconf automake libtool make |
||||
;; |
||||
esac |
||||
;; |
||||
esac |
||||
|
||||
script: |
||||
- ./ci/build.sh && ./ci/test.sh |
||||
- if [ "$BUILD_TYPE" = "normal" ]; then ./ci/distcheck.sh ; fi |
||||
- if [ "$BUILD_TYPE" = "coverage" ]; then ./ci/covupload.sh ; fi |
||||
|
@ -1,30 +1,40 @@ |
||||
#!/bin/sh |
||||
set -e |
||||
|
||||
OS="" |
||||
if [ "$TRAVIS_OS_NAME" != "" ]; then |
||||
OS="$TRAVIS_OS_NAME" |
||||
elif [ "$CIRRUS_OS" != "" ]; then |
||||
OS="$CIRRUS_OS" |
||||
fi |
||||
|
||||
|
||||
if [ "$BUILD_TYPE" != "cmake" -a "$BUILD_TYPE" != "valgrind" -a "$BUILD_TYPE" != "ios-cmake" ]; then |
||||
./buildconf |
||||
mkdir atoolsbld |
||||
cd atoolsbld |
||||
$SCAN_WRAP ../configure --disable-symbol-hiding --enable-expose-statics --enable-maintainer-mode --enable-debug $CONFIG_OPTS |
||||
$SCAN_WRAP make |
||||
elif [ "$BUILD_TYPE" = "ios-cmake" ] ; then |
||||
mkdir cmakebld |
||||
cd cmakebld |
||||
cmake \ |
||||
-DCMAKE_BUILD_TYPE=DEBUG \ |
||||
-DCARES_STATIC=ON \ |
||||
-DCARES_STATIC_PIC=ON \ |
||||
-DCARES_BUILD_TESTS=OFF \ |
||||
-DCMAKE_C_FLAGS=$CFLAGS \ |
||||
-DCMAKE_CXX_FLAGS=$CXXFLAGS \ |
||||
-DCMAKE_OSX_SYSROOT=$SYSROOT \ |
||||
-DCMAKE_OSX_ARCHITECTURES=$ARCHITECTURES \ |
||||
.. |
||||
make |
||||
else |
||||
# Use cmake for valgrind to prevent libtool script wrapping of tests that interfere with valgrind |
||||
mkdir cmakebld |
||||
cd cmakebld |
||||
cmake -DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCARES_BUILD_TESTS=ON .. |
||||
make |
||||
if [ "$BUILD_TYPE" = "ios-cmake" ]; then |
||||
mkdir cmakebld |
||||
cd cmakebld |
||||
cmake \ |
||||
-DCMAKE_BUILD_TYPE=DEBUG \ |
||||
-DCARES_STATIC=ON \ |
||||
-DCARES_STATIC_PIC=ON \ |
||||
-DCARES_BUILD_TESTS=OFF \ |
||||
-DCMAKE_C_FLAGS=$CFLAGS \ |
||||
-DCMAKE_CXX_FLAGS=$CXXFLAGS \ |
||||
-DCMAKE_OSX_SYSROOT=$SYSROOT \ |
||||
-DCMAKE_OSX_ARCHITECTURES=$ARCHITECTURES \ |
||||
.. |
||||
make |
||||
else |
||||
# Use cmake for valgrind to prevent libtool script wrapping of tests that interfere with valgrind |
||||
mkdir cmakebld |
||||
cd cmakebld |
||||
cmake -DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCARES_BUILD_TESTS=ON .. |
||||
make |
||||
fi |
||||
fi |
||||
|
Loading…
Reference in new issue