From be90946e4efe2c6666106e376eb51562a926ddd7 Mon Sep 17 00:00:00 2001 From: Sitsofe Wheeler Date: Sun, 3 Sep 2017 10:02:41 +0100 Subject: [PATCH] travis: add 32 bit build, minor updates and cleanups - Rejig the Travis file so it does a 32 bit Linux build (albeit on a 64 bit system). GlusterFS is only installed on 64 bit Linux because the 32 bit deb tries to pull in psmisc:i386 which conflicts with the regular (64 bit) psmisc. The clang 32 bit build works fine but only the gcc 32 bit build is done to reduce the number of builds for now. - Minor reformatting to make it a bit easier to read the shell script (but behind the scenes it's still all squashed on to one line). - Stop apt from installing/upgrading non-essential packages so as to reduce build time. - Make OSX build use a newer Xcode. --- .travis.yml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 795c0fce..94f69fb5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,12 +5,16 @@ compiler: - clang - gcc env: + matrix: + - BUILD_ARCH="x86" + - BUILD_ARCH="x86_64" global: - MAKEFLAGS="-j 2" matrix: include: - os: osx compiler: clang # Workaround travis setting CC=["clang", "gcc"] + env: BUILD_ARCH="x86_64" # Build using the 10.12 SDK but target and run on OSX 10.11 # - os: osx # compiler: clang @@ -19,12 +23,29 @@ matrix: # Build on the latest OSX version (will eventually become obsolete) - os: osx compiler: clang - osx_image: xcode8.2 + osx_image: xcode8.3 + env: BUILD_ARCH="x86_64" exclude: - os: osx compiler: gcc + exclude: + - os: linux + compiler: clang + env: BUILD_ARCH="x86" # Only do the gcc x86 build to reduce clutter before_install: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq -y libaio-dev libnuma-dev libz-dev librbd-dev glusterfs-common libibverbs-dev librdmacm-dev; fi + - EXTRA_CFLAGS="-Werror" + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then + pkgs=(libaio-dev libnuma-dev libz-dev librbd-dev libibverbs-dev librdmacm-dev); + if [[ "$BUILD_ARCH" == "x86" ]]; then + pkgs=("${pkgs[@]/%/:i386}"); + pkgs+=(gcc-multilib); + EXTRA_CFLAGS="${EXTRA_CFLAGS} -m32"; + else + pkgs+=(glusterfs-common); + fi; + sudo apt-get -qq update; + sudo apt-get install --no-install-recommends -qq -y "${pkgs[@]}"; + fi script: - - ./configure --extra-cflags="-Werror" && make && make test + - ./configure --extra-cflags="${EXTRA_CFLAGS}" && make + - make test -- 2.25.1