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
17 before_script: &common-before
18 - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32"
21 - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
22 - make -C test $COMMON_FLAGS $BTYPE
23 - make -C ctest $COMMON_FLAGS $BTYPE
24 - make -C utest $COMMON_FLAGS $BTYPE
32 - BTYPE="BINARY=64 USE_OPENMP=1"
37 - BTYPE="BINARY=64 INTERFACE64=1"
43 - BTYPE="BINARY=64 CC=clang"
49 - BTYPE="BINARY=64 INTERFACE64=1 CC=clang"
67 - binutils-mingw-w64-x86-64
68 - gcc-mingw-w64-x86-64
69 - gfortran-mingw-w64-x86-64
70 before_script: *common-before
72 - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
75 - BTYPE="BINARY=64 HOSTCC=gcc CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran"
77 # Build & test on Alpine Linux inside chroot, i.e. on system with musl libc.
78 # These jobs needs sudo, so Travis runs them on VM-based infrastructure
79 # which is slower than container-based infrastructure used for jobs
80 # that don't require sudo.
88 - "wget 'https://raw.githubusercontent.com/alpinelinux/alpine-chroot-install/v0.6.0/alpine-chroot-install' \
89 && echo 'a827a4ba3d0817e7c88bae17fe34e50204983d1e alpine-chroot-install' | sha1sum -c || exit 1"
90 - alpine() { /alpine/enter-chroot -u "$USER" "$@"; }
92 - sudo sh alpine-chroot-install -p 'build-base gfortran perl linux-headers'
93 before_script: *common-before
96 # XXX: Disable some warnings for now to avoid exceeding Travis limit for log size.
97 - alpine make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
98 CFLAGS="-Wno-misleading-indentation -Wno-sign-conversion -Wno-incompatible-pointer-types"
99 - alpine make -C test $COMMON_FLAGS $BTYPE
100 - alpine make -C ctest $COMMON_FLAGS $BTYPE
101 - alpine make -C utest $COMMON_FLAGS $BTYPE
103 - TARGET_BOX=LINUX64_MUSL
106 # XXX: This job segfaults in TESTS OF THE COMPLEX LEVEL 3 BLAS,
107 # but only on Travis CI, cannot reproduce it elsewhere.
108 #- &test-alpine-openmp
111 # - TARGET_BOX=LINUX64_MUSL
112 # - BTYPE="BINARY=64 USE_OPENMP=1"
116 - TARGET_BOX=LINUX64_MUSL
117 - BTYPE="BINARY=64 INTERFACE64=1"
119 # Build with the same flags as Alpine do in OpenBLAS package.
122 - TARGET_BOX=LINUX64_MUSL
123 - BTYPE="BINARY=64 NO_AFFINITY=1 USE_OPENMP=0 NO_LAPACK=0 TARGET=core2"
137 - COMMON_ARGS="-DTARGET=NEHALEM -DNUM_THREADS=32"
142 - cmake -Bbuild -H. $CMAKE_ARGS $COMMON_ARGS -DCMAKE_BUILD_TYPE=$CONFIG
143 - cmake --build build --config $CONFIG -- -j2
148 - CMAKE=1 CMAKE_ARGS="-DNOFORTRAN=1"
159 - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32"
161 - brew install gcc # for gfortran
163 - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
165 - BTYPE="BINARY=64 INTERFACE64=1"
180 - https://webhooks.gitter.im/e/8a6e4470a0cebd090344
181 on_success: change # options: [always|never|change] default: always
182 on_failure: always # options: [always|never|change] default: always
183 on_start: never # options: [always|never|change] default: always