# XXX: Precise is already deprecated, new default is Trusty. # https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming dist: precise sudo: true language: c matrix: include: - &test-ubuntu os: linux compiler: gcc addons: apt: packages: - gfortran before_script: &common-before - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32" script: - set -e - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE - make -C test $COMMON_FLAGS $BTYPE - make -C ctest $COMMON_FLAGS $BTYPE - make -C utest $COMMON_FLAGS $BTYPE env: - TARGET_BOX=LINUX64 - BTYPE="BINARY=64" - <<: *test-ubuntu os: linux-ppc64le before_script: - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=POWER8 NUM_THREADS=32" env: # for matrix annotation only - TARGET_BOX=PPC64LE_LINUX - BTYPE="BINARY=64 USE_OPENMP=1" - <<: *test-ubuntu env: - TARGET_BOX=LINUX64 - BTYPE="BINARY=64 USE_OPENMP=1" - <<: *test-ubuntu env: - TARGET_BOX=LINUX64 - BTYPE="BINARY=64 INTERFACE64=1" - <<: *test-ubuntu compiler: clang env: - TARGET_BOX=LINUX64 - BTYPE="BINARY=64 CC=clang" - <<: *test-ubuntu compiler: clang env: - TARGET_BOX=LINUX64 - BTYPE="BINARY=64 INTERFACE64=1 CC=clang" - <<: *test-ubuntu addons: apt: packages: - gcc-multilib - gfortran-multilib env: - TARGET_BOX=LINUX32 - BTYPE="BINARY=32" - os: linux compiler: gcc addons: apt: packages: - binutils-mingw-w64-x86-64 - gcc-mingw-w64-x86-64 - gfortran-mingw-w64-x86-64 before_script: *common-before script: - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE env: - TARGET_BOX=WIN64 - BTYPE="BINARY=64 HOSTCC=gcc CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran" # Build & test on Alpine Linux inside chroot, i.e. on system with musl libc. # These jobs needs sudo, so Travis runs them on VM-based infrastructure # which is slower than container-based infrastructure used for jobs # that don't require sudo. - &test-alpine os: linux dist: trusty sudo: true language: minimal before_install: - "wget 'https://raw.githubusercontent.com/alpinelinux/alpine-chroot-install/v0.9.0/alpine-chroot-install' \ && echo 'e5dfbbdc0c4b3363b99334510976c86bfa6cb251 alpine-chroot-install' | sha1sum -c || exit 1" - alpine() { /alpine/enter-chroot -u "$USER" "$@"; } install: - sudo sh alpine-chroot-install -p 'build-base gfortran perl linux-headers' before_script: *common-before script: - set -e # XXX: Disable some warnings for now to avoid exceeding Travis limit for log size. - alpine make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE CFLAGS="-Wno-misleading-indentation -Wno-sign-conversion -Wno-incompatible-pointer-types" - alpine make -C test $COMMON_FLAGS $BTYPE - alpine make -C ctest $COMMON_FLAGS $BTYPE - alpine make -C utest $COMMON_FLAGS $BTYPE env: - TARGET_BOX=LINUX64_MUSL - BTYPE="BINARY=64" # XXX: This job segfaults in TESTS OF THE COMPLEX LEVEL 3 BLAS, # but only on Travis CI, cannot reproduce it elsewhere. #- &test-alpine-openmp # <<: *test-alpine # env: # - TARGET_BOX=LINUX64_MUSL # - BTYPE="BINARY=64 USE_OPENMP=1" - <<: *test-alpine env: - TARGET_BOX=LINUX64_MUSL - BTYPE="BINARY=64 INTERFACE64=1" # Build with the same flags as Alpine do in OpenBLAS package. - <<: *test-alpine env: - TARGET_BOX=LINUX64_MUSL - BTYPE="BINARY=64 NO_AFFINITY=1 USE_OPENMP=0 NO_LAPACK=0 TARGET=CORE2" - &test-cmake os: linux compiler: clang addons: apt: packages: - gfortran - cmake dist: trusty sudo: true before_script: - COMMON_ARGS="-DTARGET=NEHALEM -DNUM_THREADS=32" script: - set -e - mkdir build - CONFIG=Release - cmake -Bbuild -H. $CMAKE_ARGS $COMMON_ARGS -DCMAKE_BUILD_TYPE=$CONFIG - cmake --build build --config $CONFIG -- -j2 env: - CMAKE=1 - <<: *test-cmake env: - CMAKE=1 CMAKE_ARGS="-DNOFORTRAN=1" - <<: *test-cmake compiler: gcc env: - CMAKE=1 - &test-macos os: osx osx_image: xcode10.1 before_script: - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32" - brew update - brew install gcc # for gfortran script: - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE env: - BTYPE="BINARY=64 INTERFACE64=1" - <<: *test-macos osx_image: xcode8.3 env: - BTYPE="BINARY=32" # whitelist branches: only: - master - develop notifications: webhooks: urls: - https://webhooks.gitter.im/e/8a6e4470a0cebd090344 on_success: change # options: [always|never|change] default: always on_failure: always # options: [always|never|change] default: always on_start: never # options: [always|never|change] default: always