env: CIRRUS_CLONE_DEPTH: 1 task: matrix: - name: "Debian amd64" env: DIST: "DEBIAN" LC_ALL: "C" SCAN_BUILD: "scan-build" MAKE: "make" TEST_FILTER: "--gtest_filter=-*Container*" container: image: debian:latest - name: "Debian arm64" env: DIST: "DEBIAN" LC_ALL: "C" SCAN_BUILD: "scan-build" MAKE: "make" TEST_FILTER: "--gtest_filter=-*Container*" 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 autoconf automake libtool g++ 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 autoconf automake libtool gmake ;; 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 autoconf automake libtool make ;; 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