mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-23 01:39:06 +08:00
Travis CI folow up
Fix ENV_VARS passing to `docker` so `CC` is set to `clang`. Fix asan compiler option. Specify all compiler options in `CFLAGS`. Related discussion https://github.com/libbpf/libbpf/pull/36#discussion_r276522335
This commit is contained in:
@@ -17,7 +17,6 @@ jobs:
|
||||
env:
|
||||
- DEBIAN_RELEASE="testing"
|
||||
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
||||
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
|
||||
before_install:
|
||||
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
||||
- docker --version
|
||||
@@ -35,7 +34,6 @@ jobs:
|
||||
env:
|
||||
- DEBIAN_RELEASE="testing"
|
||||
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
||||
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
|
||||
before_install:
|
||||
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
||||
- docker --version
|
||||
@@ -53,7 +51,6 @@ jobs:
|
||||
env:
|
||||
- DEBIAN_RELEASE="testing"
|
||||
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
||||
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
|
||||
before_install:
|
||||
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
||||
- docker --version
|
||||
@@ -71,7 +68,6 @@ jobs:
|
||||
env:
|
||||
- DEBIAN_RELEASE="testing"
|
||||
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
||||
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
|
||||
before_install:
|
||||
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
||||
- docker --version
|
||||
@@ -83,6 +79,7 @@ jobs:
|
||||
- set +e
|
||||
after_script:
|
||||
- $CI_MANAGERS/debian.sh CLEANUP
|
||||
|
||||
- name: Ubuntu Xenial
|
||||
language: bash
|
||||
script:
|
||||
|
||||
@@ -3,15 +3,20 @@
|
||||
PHASES=(${@:-SETUP RUN RUN_ASAN CLEANUP})
|
||||
DEBIAN_RELEASE="${DEBIAN_RELEASE:-testing}"
|
||||
CONT_NAME="${CONT_NAME:-debian-$DEBIAN_RELEASE-$RANDOM}"
|
||||
DOCKER_EXEC="${DOCKER_EXEC:-docker exec -it $CONT_NAME}"
|
||||
ENV_VARS="${ENV_VARS:-}"
|
||||
DOCKER_RUN="${DOCKER_RUN:-docker run}"
|
||||
REPO_ROOT="${REPO_ROOT:-$PWD}"
|
||||
ADDITIONAL_DEPS=(clang)
|
||||
ADDITIONAL_DEPS=(clang pkg-config)
|
||||
CFLAGS="-g -O2 -Werror -Wall"
|
||||
|
||||
function info() {
|
||||
echo -e "\033[33;1m$1\033[0m"
|
||||
}
|
||||
|
||||
function docker_exec() {
|
||||
docker exec $ENV_VARS -it $CONT_NAME "$@"
|
||||
}
|
||||
|
||||
set -e
|
||||
|
||||
source "$(dirname $0)/travis_wait.bash"
|
||||
@@ -26,27 +31,32 @@ for phase in "${PHASES[@]}"; do
|
||||
$DOCKER_RUN -v $REPO_ROOT:/build:rw \
|
||||
-w /build --privileged=true --name $CONT_NAME \
|
||||
-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[@]}"
|
||||
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)
|
||||
if [[ "$phase" = "RUN_CLANG" ]]; then
|
||||
ENV_VARS="-e CC=clang -e CXX=clang++"
|
||||
CC="clang"
|
||||
fi
|
||||
docker exec $ENV_VARS -it $CONT_NAME mkdir build
|
||||
$DOCKER_EXEC make CFLAGS='-Werror' -C ./src -B OBJDIR=../build
|
||||
$DOCKER_EXEC rm -rf build
|
||||
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)
|
||||
if [[ "$phase" = "RUN_CLANG_ASAN" ]]; then
|
||||
ENV_VARS="-e CC=clang -e CXX=clang++"
|
||||
CC="clang"
|
||||
fi
|
||||
docker exec $ENV_VARS -it $CONT_NAME mkdir build
|
||||
$DOCKER_EXEC make CFLAGS='-Werror -Db_sanitize=address,undefined' -C ./src -B OBJDIR=../build
|
||||
$DOCKER_EXEC rm -rf build
|
||||
CFLAGS="${CFLAGS} -fsanitize=address,undefined"
|
||||
docker_exec mkdir build
|
||||
docker_exec ${CC:-cc} --version
|
||||
docker_exec make CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build
|
||||
docker_exec rm -rf build
|
||||
;;
|
||||
CLEANUP)
|
||||
info "Cleanup phase"
|
||||
|
||||
@@ -10,6 +10,8 @@ source "$(dirname $0)/travis_wait.bash"
|
||||
|
||||
cd $REPO_ROOT
|
||||
|
||||
CFLAGS="-g -O2 -Werror -Wall -fsanitize=address,undefined"
|
||||
mkdir build
|
||||
make CFLAGS='-Werror -Db_sanitize=address,undefined' -C ./src -B OBJDIR=../build
|
||||
cc --version
|
||||
make CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build
|
||||
rm -rf build
|
||||
|
||||
Reference in New Issue
Block a user