diff --git a/.travis.yml b/.travis.yml index b5398689366..83aa90ee887 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,27 +9,31 @@ services: matrix: include: - name: "Static LLVM 5 Debug" - env: BASE=alpine TYPE=Debug STATIC_LINKING=ON TEST_ARGS="--gtest_filter=-codegen.string_equal_comparison:codegen.string_not_equal_comparison" + env: LLVM_VERSION=5.0 BASE=alpine TYPE=Debug STATIC_LINKING=ON TEST_ARGS="--gtest_filter=-codegen.string_equal_comparison:codegen.string_not_equal_comparison" - name: "Static LLVM 5 Release" - env: BASE=alpine TYPE=Release STATIC_LINKING=ON + env: LLVM_VERSION=5.0 BASE=alpine TYPE=Release STATIC_LINKING=ON + - name: "LLVM 6 Debug" - env: BASE=fedora28 TYPE=Debug + env: LLVM_VERSION=6.0 BASE=bionic TYPE=Debug - name: "LLVM 6 Release" - env: BASE=fedora28 TYPE=Release + env: LLVM_VERSION=6.0 BASE=bionic TYPE=Release + - name: "LLVM 7 Debug" - env: BASE=fedora29 TYPE=Debug + env: LLVM_VERSION=7 BASE=bionic TYPE=Debug - name: "LLVM 7 Release" - env: BASE=fedora29 TYPE=Release + env: LLVM_VERSION=7 BASE=bionic TYPE=Release + - name: "LLVM 8 Debug" - env: BASE=bionic-llvm8 TYPE=Debug + env: LLVM_VERSION=8 BASE=bionic TYPE=Debug - name: "LLVM 8 Release" - env: BASE=bionic-llvm8 TYPE=Release + env: LLVM_VERSION=8 BASE=bionic TYPE=Release + allow_failures: - name: "Static LLVM 5 Debug" - env: BASE=alpine TYPE=Debug STATIC_LINKING=ON TEST_ARGS="--gtest_filter=-codegen.string_equal_comparison:codegen.string_not_equal_comparison" + env: LLVM_VERSION=5.0 BASE=alpine TYPE=Debug STATIC_LINKING=ON TEST_ARGS="--gtest_filter=-codegen.string_equal_comparison:codegen.string_not_equal_comparison" - name: "Static LLVM 5 Release" - env: BASE=alpine TYPE=Release STATIC_LINKING=ON + env: LLVM_VERSION=5.0 BASE=alpine TYPE=Release STATIC_LINKING=ON script: - - docker build -t bpftrace-builder-$BASE -f docker/Dockerfile.$BASE docker/ - - sudo docker run --privileged --rm -it -v $(pwd):$(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -e STATIC_LINKING=$STATIC_LINKING -e TEST_ARGS=$TEST_ARGS bpftrace-builder-$BASE $(pwd)/build-$TYPE-$BASE $TYPE + - docker build --build-arg LLVM_VERSION=$LLVM_VERSION -t bpftrace-builder-$BASE-llvm-$LLVM_VERSION -f docker/Dockerfile.$BASE docker/ + - sudo docker run --privileged --rm -it -v $(pwd):$(pwd) -v /sys/kernel/debug:/sys/kernel/debug:rw -e STATIC_LINKING=$STATIC_LINKING -e TEST_ARGS=$TEST_ARGS bpftrace-builder-$BASE-llvm-$LLVM_VERSION $(pwd)/build-$TYPE-$BASE $TYPE -j`getconf _NPROCESSORS_ONLN` diff --git a/docker/Dockerfile.bionic-llvm8 b/docker/Dockerfile.bionic similarity index 59% rename from docker/Dockerfile.bionic-llvm8 rename to docker/Dockerfile.bionic index ebf10d3973b..c9926486e36 100644 --- a/docker/Dockerfile.bionic-llvm8 +++ b/docker/Dockerfile.bionic @@ -1,14 +1,14 @@ FROM ubuntu:bionic -ENV llvmVersion=8 +ARG LLVM_VERSION +ENV LLVM_VERSION=$LLVM_VERSION RUN apt-get update && apt-get install -y curl gnupg &&\ - llvmRepository='\n\ + llvmRepository="\n\ deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main\n\ deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic main\n\ -# 8\n\ -deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main\n\ -deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main' && \ +deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-${LLVM_VERSION} main\n\ +deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-${LLVM_VERSION} main\n" &&\ echo $llvmRepository >> /etc/apt/sources.list && \ curl -L https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4052245BD4284CDD && \ @@ -23,14 +23,14 @@ RUN apt-get update && apt-get install -y \ libelf-dev \ zlib1g-dev \ libbcc \ - clang-${llvmVersion} \ - libclang-${llvmVersion}-dev \ - libclang-common-${llvmVersion}-dev \ - libclang1-${llvmVersion} \ - llvm-${llvmVersion} \ - llvm-${llvmVersion}-dev \ - llvm-${llvmVersion}-runtime \ - libllvm${llvmVersion} + clang-${LLVM_VERSION} \ + libclang-${LLVM_VERSION}-dev \ + libclang-common-${LLVM_VERSION}-dev \ + libclang1-${LLVM_VERSION} \ + llvm-${LLVM_VERSION} \ + llvm-${LLVM_VERSION}-dev \ + llvm-${LLVM_VERSION}-runtime \ + libllvm${LLVM_VERSION} COPY build.sh /build.sh ENTRYPOINT ["bash", "/build.sh"] diff --git a/docker/Dockerfile.fedora27 b/docker/Dockerfile.fedora27 deleted file mode 100644 index 57fcbdb5ba4..00000000000 --- a/docker/Dockerfile.fedora27 +++ /dev/null @@ -1,16 +0,0 @@ -FROM fedora:27 -RUN dnf install -y \ - bison \ - clang-devel \ - cmake \ - elfutils-libelf-devel \ - flex \ - gcc-c++ \ - git \ - llvm-devel \ - make \ - zlib-devel \ - bcc-devel - -COPY build.sh /build.sh -ENTRYPOINT ["/bin/sh", "/build.sh"] diff --git a/docker/Dockerfile.fedora28 b/docker/Dockerfile.fedora28 deleted file mode 100644 index 3df47c7b9f3..00000000000 --- a/docker/Dockerfile.fedora28 +++ /dev/null @@ -1,16 +0,0 @@ -FROM fedora:28 -RUN dnf install -y \ - bison \ - clang-devel \ - cmake \ - elfutils-libelf-devel \ - flex \ - gcc-c++ \ - git \ - llvm-devel \ - make \ - zlib-devel \ - bcc-devel - -COPY build.sh /build.sh -ENTRYPOINT ["/bin/sh", "/build.sh"] diff --git a/docker/Dockerfile.fedora29 b/docker/Dockerfile.fedora29 deleted file mode 100644 index da889e40845..00000000000 --- a/docker/Dockerfile.fedora29 +++ /dev/null @@ -1,16 +0,0 @@ -FROM fedora:29 -RUN dnf install -y \ - bison \ - clang-devel \ - cmake \ - elfutils-libelf-devel \ - flex \ - gcc-c++ \ - git \ - llvm-devel \ - make \ - zlib-devel \ - bcc-devel - -COPY build.sh /build.sh -ENTRYPOINT ["/bin/sh", "/build.sh"] diff --git a/docker/Dockerfile.ubuntu b/docker/Dockerfile.ubuntu deleted file mode 100644 index 501bf5684db..00000000000 --- a/docker/Dockerfile.ubuntu +++ /dev/null @@ -1,15 +0,0 @@ -FROM ubuntu:bionic -RUN apt-get update && apt-get install -y \ - bison \ - cmake \ - flex \ - g++ \ - git \ - libclang-5.0-dev \ - libelf-dev \ - llvm-5.0-dev \ - zlib1g-dev \ - libbpfcc-dev - -COPY build.sh /build.sh -ENTRYPOINT ["bash", "/build.sh"]