From 2cc082977516eab6c77e2e1113af78b169d23267 Mon Sep 17 00:00:00 2001 From: Andrii Nakryiko Date: Tue, 1 Oct 2019 09:48:58 -0700 Subject: [PATCH] ci: execute install step in CI Add simple execution of `make install` in Debian and Xenial build to catch most obvious breakages. Signed-off-by: Andrii Nakryiko --- travis-ci/managers/debian.sh | 40 ++++++++++++------------------------ travis-ci/managers/xenial.sh | 5 +++-- 2 files changed, 16 insertions(+), 29 deletions(-) diff --git a/travis-ci/managers/debian.sh b/travis-ci/managers/debian.sh index b642c62..d8d6e23 100755 --- a/travis-ci/managers/debian.sh +++ b/travis-ci/managers/debian.sh @@ -30,27 +30,31 @@ for phase in "${PHASES[@]}"; do SETUP) info "Setup phase" info "Using Debian $DEBIAN_RELEASE" - docker pull debian:$DEBIAN_RELEASE + docker pull debian:$DEBIAN_RELEASE info "Starting container $CONT_NAME" $DOCKER_RUN -v $REPO_ROOT:/build:rw \ -w /build --privileged=true --name $CONT_NAME \ - -dit --net=host debian:$DEBIAN_RELEASE /bin/bash + -dit --net=host debian:$DEBIAN_RELEASE /bin/bash docker_exec bash -c "echo deb-src http://deb.debian.org/debian $DEBIAN_RELEASE main >>/etc/apt/sources.list" docker_exec apt-get -y update docker_exec apt-get -y build-dep libelf-dev docker_exec apt-get -y install libelf-dev docker_exec apt-get -y install "${ADDITIONAL_DEPS[@]}" ;; - RUN|RUN_CLANG|RUN_GCC8) - if [[ "$phase" = "RUN_CLANG" ]]; then + RUN|RUN_CLANG|RUN_GCC8|RUN_ASAN|RUN_CLANG_ASAN|RUN_GCC8_ASAN) + if [[ "$phase" = *"CLANG"* ]]; then ENV_VARS="-e CC=clang -e CXX=clang++" CC="clang" - elif [[ "$phase" = "RUN_GCC8" ]]; then + elif [[ "$phase" = *"GCC8"* ]]; then ENV_VARS="-e CC=gcc-8 -e CXX=g++-8" CC="gcc-8" fi - docker_exec mkdir build + if [[ "$phase" = *"ASAN"* ]]; then + CFLAGS="${CFLAGS} -fsanitize=address,undefined" + fi + docker_exec mkdir build install docker_exec ${CC:-cc} --version + info "build" docker_exec make CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build info "ldd build/libbpf.so:" docker_exec ldd build/libbpf.so @@ -58,27 +62,9 @@ for phase in "${PHASES[@]}"; do error "No reference to libelf.so in libbpf.so!" exit 1 fi - docker_exec rm -rf build - ;; - 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 - docker_exec ${CC:-cc} --version - docker_exec make CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build - info "ldd build/libbpf.so:" - docker_exec ldd build/libbpf.so - if ! docker_exec ldd build/libbpf.so | grep -q libelf; then - error "No reference to libelf.so in libbpf.so!" - exit 1 - fi - docker_exec rm -rf build + info "install" + docker_exec make -C src OBJDIR=../build DESTDIR=../install install + docker_exec rm -rf build install ;; CLEANUP) info "Cleanup phase" diff --git a/travis-ci/managers/xenial.sh b/travis-ci/managers/xenial.sh index d59aa26..fe23436 100755 --- a/travis-ci/managers/xenial.sh +++ b/travis-ci/managers/xenial.sh @@ -11,7 +11,7 @@ source "$(dirname $0)/travis_wait.bash" cd $REPO_ROOT CFLAGS="-g -O2 -Werror -Wall -fsanitize=address,undefined" -mkdir build +mkdir build install cc --version make CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build ldd build/libbpf.so @@ -19,4 +19,5 @@ if ! ldd build/libbpf.so | grep -q libelf; then echo "FAIL: No reference to libelf.so in libbpf.so!" exit 1 fi -rm -rf build +make -C src OBJDIR=../build DESTDIR=../install install +rm -rf build install