diff --git a/.travis.yml b/.travis.yml index a23c8d2..39ed437 100644 --- a/.travis.yml +++ b/.travis.yml @@ -80,6 +80,40 @@ jobs: after_script: - $CI_MANAGERS/debian.sh CLEANUP + - name: Debian Testing (gcc-8) + language: bash + env: + - DEBIAN_RELEASE="testing" + - CONT_NAME="libbpf-debian-$DEBIAN_RELEASE" + before_install: + - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce + - docker --version + install: + - $CI_MANAGERS/debian.sh SETUP + script: + - set -e + - $CI_MANAGERS/debian.sh RUN_GCC8 + - set +e + after_script: + - $CI_MANAGERS/debian.sh CLEANUP + + - name: Debian Testing (gcc-8 ASan+UBSan) + language: bash + env: + - DEBIAN_RELEASE="testing" + - CONT_NAME="libbpf-debian-$DEBIAN_RELEASE" + before_install: + - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce + - docker --version + install: + - $CI_MANAGERS/debian.sh SETUP + script: + - set -e + - $CI_MANAGERS/debian.sh RUN_GCC8_ASAN + - set +e + after_script: + - $CI_MANAGERS/debian.sh CLEANUP + - name: Ubuntu Xenial language: bash script: diff --git a/travis-ci/managers/debian.sh b/travis-ci/managers/debian.sh index 54318de..7eb092f 100755 --- a/travis-ci/managers/debian.sh +++ b/travis-ci/managers/debian.sh @@ -6,7 +6,7 @@ CONT_NAME="${CONT_NAME:-debian-$DEBIAN_RELEASE-$RANDOM}" ENV_VARS="${ENV_VARS:-}" DOCKER_RUN="${DOCKER_RUN:-docker run}" REPO_ROOT="${REPO_ROOT:-$PWD}" -ADDITIONAL_DEPS=(clang pkg-config) +ADDITIONAL_DEPS=(clang pkg-config gcc-8) CFLAGS="-g -O2 -Werror -Wall" function info() { @@ -37,20 +37,26 @@ for phase in "${PHASES[@]}"; do docker_exec apt-get -y install libelf-dev docker_exec apt-get -y install "${ADDITIONAL_DEPS[@]}" ;; - RUN|RUN_CLANG) + RUN|RUN_CLANG|RUN_GCC8) if [[ "$phase" = "RUN_CLANG" ]]; then ENV_VARS="-e CC=clang -e CXX=clang++" CC="clang" + elif [[ "$phase" = "RUN_GCC8" ]]; then + ENV_VARS="-e CC=gcc-8 -e CXX=g++-8" + CC="gcc-8" fi docker_exec mkdir build docker_exec ${CC:-cc} --version docker_exec make CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build docker_exec rm -rf build ;; - RUN_ASAN|RUN_CLANG_ASAN) + RUN_ASAN|RUN_CLANG_ASAN|RUN_GCC8_ASAN) if [[ "$phase" = "RUN_CLANG_ASAN" ]]; then ENV_VARS="-e CC=clang -e CXX=clang++" CC="clang" + elif [[ "$phase" = "RUN_GCC8_ASAN" ]]; then + ENV_VARS="-e CC=gcc-8 -e CXX=g++-8" + CC="gcc-8" fi CFLAGS="${CFLAGS} -fsanitize=address,undefined" docker_exec mkdir build