diff --git a/.travis.yml b/.travis.yml index 7e40e79..1729096 100644 --- a/.travis.yml +++ b/.travis.yml @@ -88,7 +88,7 @@ script: --rm \ --workdir /travis \ --volume ${TRAVIS_BUILD_DIR}:/travis \ - debian:sid /bin/bash -c './debian-setup.sh && ./driver.sh && ccache -s' + clangbuiltlinux/ubuntu /bin/bash -c './env-setup.sh && ./driver.sh && ccache -s' after_script: - sleep 1 notifications: diff --git a/debian-setup.sh b/debian-setup.sh deleted file mode 100755 index c5ababf..0000000 --- a/debian-setup.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env bash -# Installs all of the necessary packages in a Docker container - -# Show all commands and exit upon failure -set -eux - -# Install the official Debian packages that we need -# curl and wget are not installed by default so this -# is separate from the Clang/lld installation below -# because we would need to at least install curl to -# get LLVM's apt key -apt-get update -qq -apt-get install -y -qq \ - bc \ - binutils \ - binutils-aarch64-linux-gnu \ - binutils-arm-linux-gnueabi \ - binutils-powerpc64le-linux-gnu \ - bison \ - ccache \ - curl \ - expect \ - flex \ - git \ - gnupg \ - libelf-dev \ - libssl-dev \ - make \ - openssl \ - >/dev/null - -# Install Qemu 3.0 from shenki's ppa. Debian nor Ubuntu package 3.0 yet, which -# is required for ppc64le powernv support. Skiboot is also required for this machine -apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E007EC6A -echo "deb http://ppa.launchpad.net/shenki/ppa/ubuntu bionic main" | tee -a /etc/apt/sources.list -apt-get update -qq -apt-get install -y -qq \ - qemu-system-arm \ - qemu-system-ppc \ - qemu-system-x86 \ - skiboot \ - >/dev/null - -# Install nightly verisons of Clang and lld (apt.llvm.org) -curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - -echo "deb http://apt.llvm.org/unstable/ llvm-toolchain main" | tee -a /etc/apt/sources.list -apt-get update -qq -apt-get install --no-install-recommends -y -qq \ - clang-8 \ - lld-8 \ - llvm-8 \ - >/dev/null - -# By default, Travis's ccache size is around 500MB. We'll -# start with 2GB just to see how it plays out. -ccache -M 2G - -# Enable compression so that we can have more objects in -# the cache (9 is most compressed, 6 is default) -ccache --set-config=compression=true -ccache --set-config=compression_level=9 - -# Set the cache directory to /travis/.ccache, which we've -# bind mounted during 'docker create' so that we can keep -# this cached across builds -ccache --set-config=cache_dir=/travis/.ccache - -# Clear out the stats so we actually know the cache stats -ccache -z diff --git a/driver.sh b/driver.sh index 061b746..a5d5bd1 100755 --- a/driver.sh +++ b/driver.sh @@ -87,7 +87,6 @@ setup_variables() { check_dependencies() { command -v nproc - command -v gcc command -v "${CROSS_COMPILE:-}"as command -v "${CROSS_COMPILE:-}"ld command -v ${qemu} diff --git a/env-setup.sh b/env-setup.sh new file mode 100755 index 0000000..46a6e2b --- /dev/null +++ b/env-setup.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Configure our Docker container during Travis builds + +# Show all commands and exit upon failure +set -eux + +# By default, Travis's ccache size is around 500MB. We'll +# start with 2GB just to see how it plays out. +ccache -M 2G + +# Enable compression so that we can have more objects in +# the cache (9 is most compressed, 6 is default) +ccache --set-config=compression=true +ccache --set-config=compression_level=9 + +# Set the cache directory to /travis/.ccache, which we've +# bind mounted during 'docker create' so that we can keep +# this cached across builds +ccache --set-config=cache_dir=/travis/.ccache + +# Clear out the stats so we actually know the cache stats +ccache -z