mirror of
https://github.com/netdata/libbpf.git
synced 2026-04-08 17:49:07 +08:00
ci: build libbpf with more versions of clang and gcc
Add few more versions of clang and gcc used to compile-test libbpf. Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
This commit is contained in:
committed by
Andrii Nakryiko
parent
c80f12f7f6
commit
7b0891ac6b
18
.github/workflows/build.yml
vendored
18
.github/workflows/build.yml
vendored
@@ -23,14 +23,24 @@ jobs:
|
|||||||
target: RUN
|
target: RUN
|
||||||
- name: ASan+UBSan
|
- name: ASan+UBSan
|
||||||
target: RUN_ASAN
|
target: RUN_ASAN
|
||||||
- name: clang
|
|
||||||
target: RUN_CLANG
|
|
||||||
- name: clang ASan+UBSan
|
- name: clang ASan+UBSan
|
||||||
target: RUN_CLANG_ASAN
|
target: RUN_CLANG_ASAN
|
||||||
- name: gcc-10
|
|
||||||
target: RUN_GCC10
|
|
||||||
- name: gcc-10 ASan+UBSan
|
- name: gcc-10 ASan+UBSan
|
||||||
target: RUN_GCC10_ASAN
|
target: RUN_GCC10_ASAN
|
||||||
|
- name: clang
|
||||||
|
target: RUN_CLANG
|
||||||
|
- name: clang-14
|
||||||
|
target: RUN_CLANG14
|
||||||
|
- name: clang-15
|
||||||
|
target: RUN_CLANG15
|
||||||
|
- name: clang-16
|
||||||
|
target: RUN_CLANG16
|
||||||
|
- name: gcc-10
|
||||||
|
target: RUN_GCC10
|
||||||
|
- name: gcc-11
|
||||||
|
target: RUN_GCC11
|
||||||
|
- name: gcc-12
|
||||||
|
target: RUN_GCC12
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
name: Checkout
|
name: Checkout
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ CONT_NAME="${CONT_NAME:-libbpf-debian-$DEBIAN_RELEASE}"
|
|||||||
ENV_VARS="${ENV_VARS:-}"
|
ENV_VARS="${ENV_VARS:-}"
|
||||||
DOCKER_RUN="${DOCKER_RUN:-docker run}"
|
DOCKER_RUN="${DOCKER_RUN:-docker run}"
|
||||||
REPO_ROOT="${REPO_ROOT:-$PWD}"
|
REPO_ROOT="${REPO_ROOT:-$PWD}"
|
||||||
ADDITIONAL_DEPS=(clang pkgconf gcc-10)
|
ADDITIONAL_DEPS=(pkgconf)
|
||||||
EXTRA_CFLAGS=""
|
EXTRA_CFLAGS=""
|
||||||
EXTRA_LDFLAGS=""
|
EXTRA_LDFLAGS=""
|
||||||
|
|
||||||
@@ -47,23 +47,31 @@ for phase in "${PHASES[@]}"; do
|
|||||||
docker_exec aptitude -y install "${ADDITIONAL_DEPS[@]}"
|
docker_exec aptitude -y install "${ADDITIONAL_DEPS[@]}"
|
||||||
echo -e "::endgroup::"
|
echo -e "::endgroup::"
|
||||||
;;
|
;;
|
||||||
RUN|RUN_CLANG|RUN_GCC10|RUN_ASAN|RUN_CLANG_ASAN|RUN_GCC10_ASAN)
|
RUN|RUN_CLANG|RUN_CLANG14|RUN_CLANG15|RUN_CLANG16|RUN_GCC10|RUN_GCC11|RUN_GCC12|RUN_ASAN|RUN_CLANG_ASAN|RUN_GCC10_ASAN)
|
||||||
CC="cc"
|
CC="cc"
|
||||||
if [[ "$phase" = *"CLANG"* ]]; then
|
if [[ "$phase" =~ "RUN_CLANG(\d+)(_ASAN)?" ]]; then
|
||||||
|
ENV_VARS="-e CC=clang-${BASH_REMATCH[1]} -e CXX=clang++-${BASH_REMATCH[1]}"
|
||||||
|
CC="clang-${BASH_REMATCH[1]}"
|
||||||
|
elif [[ "$phase" = *"CLANG"* ]]; then
|
||||||
ENV_VARS="-e CC=clang -e CXX=clang++"
|
ENV_VARS="-e CC=clang -e CXX=clang++"
|
||||||
CC="clang"
|
CC="clang"
|
||||||
elif [[ "$phase" = *"GCC10"* ]]; then
|
elif [[ "$phase" =~ "RUN_GCC(\d+)(_ASAN)?" ]]; then
|
||||||
ENV_VARS="-e CC=gcc-10 -e CXX=g++-10"
|
ENV_VARS="-e CC=gcc-${BASH_REMATCH[1]} -e CXX=g++-${BASH_REMATCH[1]}"
|
||||||
CC="gcc-10"
|
CC="gcc-${BASH_REMATCH[1]}"
|
||||||
fi
|
fi
|
||||||
if [[ "$phase" = *"ASAN"* ]]; then
|
if [[ "$phase" = *"ASAN"* ]]; then
|
||||||
EXTRA_CFLAGS="${EXTRA_CFLAGS} -fsanitize=address,undefined"
|
EXTRA_CFLAGS="${EXTRA_CFLAGS} -fsanitize=address,undefined"
|
||||||
EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -fsanitize=address,undefined"
|
EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -fsanitize=address,undefined"
|
||||||
fi
|
fi
|
||||||
|
if [[ "$CC" != "cc" ]]; then
|
||||||
|
docker_exec aptitude -y install "$CC"
|
||||||
|
else
|
||||||
|
docker_exec aptitude -y install gcc
|
||||||
|
fi
|
||||||
docker_exec mkdir build install
|
docker_exec mkdir build install
|
||||||
docker_exec ${CC} --version
|
docker_exec ${CC} --version
|
||||||
info "build"
|
info "build"
|
||||||
docker_exec make -j$((4*$(nproc))) EXTRA_CFLAGS="${EXTRA_CFLAGS}" EXTRA_LDFLAGS="${EXTRA_LDFLAGS}" -C ./src -B OBJDIR=../build
|
docker_exec make -j$((4*$(nproc))) EXTRA_CFLAGS="${EXTRA_CFLAGS}" EXTRA_LDFLAGS="${EXTRA_LDFLAGS}" -C ./src -B OBJDIR=../build
|
||||||
info "ldd build/libbpf.so:"
|
info "ldd build/libbpf.so:"
|
||||||
docker_exec ldd build/libbpf.so
|
docker_exec ldd build/libbpf.so
|
||||||
if ! docker_exec ldd build/libbpf.so | grep -q libelf; then
|
if ! docker_exec ldd build/libbpf.so | grep -q libelf; then
|
||||||
|
|||||||
Reference in New Issue
Block a user