# 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: - 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 os: linux arch: s390x before_script: - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32" env: # for matrix annotation only - TARGET_BOX=IBMZ_LINUX - BTYPE="BINARY=64 USE_OPENMP=1" - <<: *test-ubuntu os: linux dist: focal arch: s390x compiler: clang before_script: - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32" env: # for matrix annotation only - TARGET_BOX=IBMZ_LINUX - BTYPE="BINARY=64 USE_OPENMP=0 CC=clang" - <<: *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 arch: ppc64le dist: bionic compiler: gcc before_script: - sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y - sudo apt-get update - sudo apt-get install gcc-9 gfortran-9 -y script: - make QUIET_MAKE=1 BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9 - make -C test $COMMON_FLAGS $BTYPE - make -C ctest $COMMON_FLAGS $BTYPE - make -C utest $COMMON_FLAGS $BTYPE env: # for matrix annotation only - TARGET_BOX=PPC64LE_LINUX_P9 - os: linux arch: ppc64le dist: bionic compiler: gcc before_script: - sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y - sudo apt-get update - sudo apt-get install gcc-9 gfortran-9 -y script: - make QUIET_MAKE=1 BUILD_BFLOAT16=1 BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9 - make -C test $COMMON_FLAGS $BTYPE - make -C ctest $COMMON_FLAGS $BTYPE - make -C utest $COMMON_FLAGS $BTYPE env: # for matrix annotation only - TARGET_BOX=PPC64LE_LINUX_P9 - 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: # 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: - 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: xcode11.5 before_script: - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32" script: - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE env: - BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-9" - <<: *test-macos osx_image: xcode12 before_script: - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32" - brew update - brew install gcc@10 script: - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE env: - BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-10" # - <<: *test-macos # osx_image: xcode10 # env: # - BTYPE="TARGET=NEHALEM BINARY=32 NOFORTRAN=1" - <<: *test-macos osx_image: xcode11.5 before_script: - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32" - brew update env: # - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" # - CFLAGS="-O2 -Wno-macro-redefined -isysroot /Applications/Xcode-10.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -arch arm64 -miphoneos-version-min=10.0" - CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" - CFLAGS="-O2 -Wno-macro-redefined -isysroot /Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk -arch arm64 -miphoneos-version-min=10.0" - BTYPE="TARGET=ARMV8 BINARY=64 HOSTCC=clang NOFORTRAN=1" - <<: *test-macos osx_image: xcode11.5 env: # - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" # - CFLAGS="-O2 -mno-thumb -Wno-macro-redefined -isysroot /Applications/Xcode-10.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -arch armv7 -miphoneos-version-min=5.1" - CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" - CFLAGS="-O2 -mno-thumb -Wno-macro-redefined -isysroot /Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk -arch armv7 -miphoneos-version-min=5.1" - BTYPE="TARGET=ARMV7 HOSTCC=clang NOFORTRAN=1" - &test-graviton2 os: linux arch: arm64-graviton2 dist: focal group: edge virt: lxd compiler: gcc addons: apt: packages: - gfortran script: - travis_wait 45 make && make lapack-test # 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