1 # XXX: Precise is already deprecated, new default is Trusty.
2 # https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming
16 before_script: &common-before
17 - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32"
19 - make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
20 - make -C test $COMMON_FLAGS $BTYPE
21 - make -C ctest $COMMON_FLAGS $BTYPE
22 - make -C utest $COMMON_FLAGS $BTYPE
30 - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=POWER8 NUM_THREADS=32"
32 # for matrix annotation only
33 - TARGET_BOX=PPC64LE_LINUX
34 - BTYPE="BINARY=64 USE_OPENMP=1"
40 - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32"
42 # for matrix annotation only
43 - TARGET_BOX=IBMZ_LINUX
44 - BTYPE="BINARY=64 USE_OPENMP=1"
52 - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32"
54 # for matrix annotation only
55 - TARGET_BOX=IBMZ_LINUX
56 - BTYPE="BINARY=64 USE_OPENMP=0 CC=clang"
61 - BTYPE="BINARY=64 USE_OPENMP=1"
66 - BTYPE="BINARY=64 INTERFACE64=1"
72 - BTYPE="BINARY=64 CC=clang"
78 - BTYPE="BINARY=64 INTERFACE64=1 CC=clang"
95 - sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y
97 - sudo apt-get install gcc-9 gfortran-9 -y
99 - make QUIET_MAKE=1 BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9
100 - make -C test $COMMON_FLAGS $BTYPE
101 - make -C ctest $COMMON_FLAGS $BTYPE
102 - make -C utest $COMMON_FLAGS $BTYPE
104 # for matrix annotation only
105 - TARGET_BOX=PPC64LE_LINUX_P9
112 - sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y
113 - sudo apt-get update
114 - sudo apt-get install gcc-9 gfortran-9 -y
116 - make QUIET_MAKE=1 BUILD_BFLOAT16=1 BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9
117 - make -C test $COMMON_FLAGS $BTYPE
118 - make -C ctest $COMMON_FLAGS $BTYPE
119 - make -C utest $COMMON_FLAGS $BTYPE
121 # for matrix annotation only
122 - TARGET_BOX=PPC64LE_LINUX_P9
129 - binutils-mingw-w64-x86-64
130 - gcc-mingw-w64-x86-64
131 - gfortran-mingw-w64-x86-64
132 before_script: *common-before
134 - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
137 - BTYPE="BINARY=64 HOSTCC=gcc CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran"
139 # Build & test on Alpine Linux inside chroot, i.e. on system with musl libc.
140 # These jobs needs sudo, so Travis runs them on VM-based infrastructure
141 # which is slower than container-based infrastructure used for jobs
142 # that don't require sudo.
149 - "wget 'https://raw.githubusercontent.com/alpinelinux/alpine-chroot-install/v0.9.0/alpine-chroot-install' \
150 && echo 'e5dfbbdc0c4b3363b99334510976c86bfa6cb251 alpine-chroot-install' | sha1sum -c || exit 1"
151 - alpine() { /alpine/enter-chroot -u "$USER" "$@"; }
153 - sudo sh alpine-chroot-install -p 'build-base gfortran perl linux-headers'
154 before_script: *common-before
156 # XXX: Disable some warnings for now to avoid exceeding Travis limit for log size.
157 - alpine make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
158 CFLAGS="-Wno-misleading-indentation -Wno-sign-conversion -Wno-incompatible-pointer-types"
159 - alpine make -C test $COMMON_FLAGS $BTYPE
160 - alpine make -C ctest $COMMON_FLAGS $BTYPE
161 - alpine make -C utest $COMMON_FLAGS $BTYPE
163 - TARGET_BOX=LINUX64_MUSL
166 # XXX: This job segfaults in TESTS OF THE COMPLEX LEVEL 3 BLAS,
167 # but only on Travis CI, cannot reproduce it elsewhere.
168 #- &test-alpine-openmp
171 # - TARGET_BOX=LINUX64_MUSL
172 # - BTYPE="BINARY=64 USE_OPENMP=1"
176 - TARGET_BOX=LINUX64_MUSL
177 - BTYPE="BINARY=64 INTERFACE64=1"
179 # Build with the same flags as Alpine do in OpenBLAS package.
182 - TARGET_BOX=LINUX64_MUSL
183 - BTYPE="BINARY=64 NO_AFFINITY=1 USE_OPENMP=0 NO_LAPACK=0 TARGET=CORE2"
196 - COMMON_ARGS="-DTARGET=NEHALEM -DNUM_THREADS=32"
200 - cmake -Bbuild -H. $CMAKE_ARGS $COMMON_ARGS -DCMAKE_BUILD_TYPE=$CONFIG
201 - cmake --build build --config $CONFIG -- -j2
206 - CMAKE=1 CMAKE_ARGS="-DNOFORTRAN=1"
216 - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
218 - brew install gcc@8 # for gfortran
220 - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
222 - BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-8"
227 - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
229 - brew install gcc@10 # for gfortran
231 - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
233 - BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-10"
238 - BTYPE="TARGET=NEHALEM BINARY=32 NOFORTRAN=1"
243 - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
246 # - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
247 # - 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"
248 - CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
249 - 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"
250 - BTYPE="TARGET=ARMV8 BINARY=64 HOSTCC=clang NOFORTRAN=1"
254 # - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
255 # - 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"
256 - CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
257 - 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"
258 - BTYPE="TARGET=ARMV7 HOSTCC=clang NOFORTRAN=1"
262 arch: arm64-graviton2
272 - travis_wait 45 make && make lapack-test
283 - https://webhooks.gitter.im/e/8a6e4470a0cebd090344
284 on_success: change # options: [always|never|change] default: always
285 on_failure: always # options: [always|never|change] default: always
286 on_start: never # options: [always|never|change] default: always