language: c
+dist: bionic
os:
- linux
compiler:
- clang
- gcc
env:
+ matrix:
+ - BUILD_ARCH="x86"
+ - BUILD_ARCH="x86_64"
global:
- MAKEFLAGS="-j 2"
matrix:
include:
+ # Default xcode image
- os: osx
compiler: clang # Workaround travis setting CC=["clang", "gcc"]
- # Build using the 10.12 SDK but target and run on OSX 10.11
-# - os: osx
-# compiler: clang
-# osx_image: xcode8
-# env: SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk MACOSX_DEPLOYMENT_TARGET=10.11
- # Build on the latest OSX version (will eventually become obsolete)
+ env: BUILD_ARCH="x86_64"
+ # Latest xcode image (needs periodic updating)
- os: osx
compiler: clang
- osx_image: xcode8.2
+ osx_image: xcode11.2
+ 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 libcunit1 libcunit1-dev libgoogle-perftools4 libibverbs-dev libiscsi-dev libnuma-dev librbd-dev librdmacm-dev libz-dev);
+ if [[ "$BUILD_ARCH" == "x86" ]]; then
+ pkgs=("${pkgs[@]/%/:i386}");
+ pkgs+=(gcc-multilib python-scipy);
+ EXTRA_CFLAGS="${EXTRA_CFLAGS} -m32";
+ else
+ pkgs+=(glusterfs-common python-scipy);
+ fi;
+ sudo apt-get -qq update;
+ sudo apt-get install --no-install-recommends -qq -y "${pkgs[@]}";
+ fi;
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+ brew update;
+ brew install cunit;
+ if [[ "$TRAVIS_OSX_IMAGE" == "xcode11.2" ]]; then
+ pip3 install scipy;
+ fi;
+ pip install scipy;
+ fi;
script:
- - ./configure --extra-cflags="-Werror" && make && make test
+ - ./configure --extra-cflags="${EXTRA_CFLAGS}" && make
+ - make test
+ - sudo python3 t/run-fio-tests.py --skip 6 1007 1008 --debug