Merge pull request #3616 from martin-frbg/issue3615
[platform/upstream/openblas.git] / .travis.yml
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
3 dist: focal
4 sudo: true
5 language: c
6
7 matrix:
8   include:
9     - &test-ubuntu
10 #      os: linux
11       compiler: gcc
12       addons:
13         apt:
14           packages:
15             - gfortran
16 #      before_script: &common-before
17 #        - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32"
18 #      script:
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
23 #      env:
24 #        - TARGET_BOX=LINUX64
25 #        - BTYPE="BINARY=64"
26 #
27 #    - <<: *test-ubuntu
28       os: linux
29       arch: ppc64le
30       before_script: &common-before
31         - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=POWER8 NUM_THREADS=32"
32       script:
33         - make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
34         - make -C test $COMMON_FLAGS $BTYPE
35         - make -C ctest $COMMON_FLAGS $BTYPE
36         - make -C utest $COMMON_FLAGS $BTYPE
37       env:
38         # for matrix annotation only
39         - TARGET_BOX=PPC64LE_LINUX
40         - BTYPE="BINARY=64 USE_OPENMP=1"
41
42     - <<: *test-ubuntu
43       os: linux
44       arch: s390x
45       before_script:
46         - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32"
47         - sudo apt-get install --only-upgrade binutils
48       env:
49         # for matrix annotation only
50         - TARGET_BOX=IBMZ_LINUX
51         - BTYPE="BINARY=64 USE_OPENMP=1"
52
53     - <<: *test-ubuntu
54       os: linux
55       dist: focal
56       arch: s390x
57       compiler: clang
58       before_script:
59         - COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32"
60         - sudo apt-get install --only-upgrade binutils
61       env:
62         # for matrix annotation only
63         - TARGET_BOX=IBMZ_LINUX
64         - BTYPE="BINARY=64 USE_OPENMP=0 CC=clang"
65
66 #    - <<: *test-ubuntu
67 #      env:
68 #        - TARGET_BOX=LINUX64
69 #        - BTYPE="BINARY=64 USE_OPENMP=1"
70 #
71 #    - <<: *test-ubuntu
72 #      env:
73 #        - TARGET_BOX=LINUX64
74 #        - BTYPE="BINARY=64 INTERFACE64=1"
75 #
76 #    - <<: *test-ubuntu
77 #      compiler: clang
78 #      env:
79 #        - TARGET_BOX=LINUX64
80 #        - BTYPE="BINARY=64 CC=clang"
81 #
82 #    - <<: *test-ubuntu
83 #      compiler: clang
84 #      env:
85 #        - TARGET_BOX=LINUX64
86 #        - BTYPE="BINARY=64 INTERFACE64=1 CC=clang"
87 #
88 #    - <<: *test-ubuntu
89 #      addons:
90 #        apt:
91 #          packages:
92 #            - gcc-multilib
93 #            - gfortran-multilib
94 #      env:
95 #        - TARGET_BOX=LINUX32
96 #        - BTYPE="BINARY=32"
97 #
98     - os: linux
99       arch: ppc64le
100       dist: bionic
101       compiler: gcc
102       before_script:
103         - sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y
104         - sudo apt-get update
105         - sudo apt-get install gcc-9 gfortran-9 -y
106       script:
107         - make QUIET_MAKE=1  BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9
108         - make -C test $COMMON_FLAGS $BTYPE
109         - make -C ctest $COMMON_FLAGS $BTYPE
110         - make -C utest $COMMON_FLAGS $BTYPE 
111       env:
112         # for matrix annotation only
113         - TARGET_BOX=PPC64LE_LINUX_P9
114
115     - os: linux
116       arch: ppc64le
117       dist: bionic
118       compiler: gcc
119       before_script:
120         - sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y
121         - sudo apt-get update
122         - sudo apt-get install gcc-9 gfortran-9 -y
123       script:
124         - make QUIET_MAKE=1  BUILD_BFLOAT16=1 BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9
125         - make -C test $COMMON_FLAGS $BTYPE
126         - make -C ctest $COMMON_FLAGS $BTYPE
127         - make -C utest $COMMON_FLAGS $BTYPE 
128       env:
129         # for matrix annotation only
130         - TARGET_BOX=PPC64LE_LINUX_P9
131
132 #    - os: linux
133 #      compiler: gcc
134 #      addons:
135 #        apt:
136 #          packages:
137 #            - binutils-mingw-w64-x86-64
138 #            - gcc-mingw-w64-x86-64
139 #            - gfortran-mingw-w64-x86-64
140 #      before_script: *common-before
141 #      script:
142 #        - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
143 #      env:
144 #        - TARGET_BOX=WIN64
145 #        - BTYPE="BINARY=64 HOSTCC=gcc CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran"
146 #
147     # Build & test on Alpine Linux inside chroot, i.e. on system with musl libc.
148     # These jobs needs sudo, so Travis runs them on VM-based infrastructure
149     # which is slower than container-based infrastructure used for jobs
150     # that don't require sudo.
151  #   - &test-alpine
152  #     os: linux
153  #     dist: trusty
154  #     sudo: true
155  #     language: minimal
156  #     before_install:
157  #       - "wget 'https://raw.githubusercontent.com/alpinelinux/alpine-chroot-install/v0.9.0/alpine-chroot-install' \
158  #         && echo 'e5dfbbdc0c4b3363b99334510976c86bfa6cb251  alpine-chroot-install' | sha1sum -c || exit 1"
159  #       - alpine() { /alpine/enter-chroot -u "$USER" "$@"; }
160  #     install:
161  #       - sudo sh alpine-chroot-install -p 'build-base gfortran perl linux-headers'
162  #     before_script: *common-before
163  #     script:
164  #       # XXX: Disable some warnings for now to avoid exceeding Travis limit for log size.
165  #       - alpine make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
166  #             CFLAGS="-Wno-misleading-indentation -Wno-sign-conversion -Wno-incompatible-pointer-types"
167  #       - alpine make -C test $COMMON_FLAGS $BTYPE
168  #       - alpine make -C ctest $COMMON_FLAGS $BTYPE
169  #       - alpine make -C utest $COMMON_FLAGS $BTYPE
170  #     env:
171  #       - TARGET_BOX=LINUX64_MUSL
172  #       - BTYPE="BINARY=64"
173
174     # XXX: This job segfaults in TESTS OF THE COMPLEX LEVEL 3 BLAS,
175     # but only on Travis CI, cannot reproduce it elsewhere.
176     #- &test-alpine-openmp
177     #  <<: *test-alpine
178     #  env:
179     #    - TARGET_BOX=LINUX64_MUSL
180     #    - BTYPE="BINARY=64 USE_OPENMP=1"
181
182 #    - <<: *test-alpine
183 #      env:
184 #        - TARGET_BOX=LINUX64_MUSL
185 #        - BTYPE="BINARY=64 INTERFACE64=1"
186 #
187 #    # Build with the same flags as Alpine do in OpenBLAS package.
188 #    - <<: *test-alpine
189 #      env:
190 #        - TARGET_BOX=LINUX64_MUSL
191 #        - BTYPE="BINARY=64 NO_AFFINITY=1 USE_OPENMP=0 NO_LAPACK=0 TARGET=CORE2"
192
193 #    - &test-cmake
194 #      os: linux
195 #      compiler: clang
196 #      addons:
197 #        apt:
198 #          packages:
199 #            - gfortran
200 #            - cmake
201 #      dist: trusty
202 #      sudo: true
203 #      before_script:
204 #        - COMMON_ARGS="-DTARGET=NEHALEM -DNUM_THREADS=32"
205 #      script:
206 #        - mkdir build
207 #        - CONFIG=Release
208 #        - cmake -Bbuild -H. $CMAKE_ARGS $COMMON_ARGS -DCMAKE_BUILD_TYPE=$CONFIG
209 #        - cmake --build build --config $CONFIG -- -j2
210 #      env:
211 #        - CMAKE=1
212 #    - <<: *test-cmake
213 #      env:
214 #        - CMAKE=1 CMAKE_ARGS="-DNOFORTRAN=1"
215 #    - <<: *test-cmake
216 #      compiler: gcc
217 #      env:
218 #        - CMAKE=1
219
220 #    - &test-macos
221 #      os: osx
222 #      osx_image: xcode11.5
223 #      before_script:
224 #        - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
225 #      script:
226 #        - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
227 #      env:
228 #        - BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-9"
229 #
230 #    - <<: *test-macos
231 #      osx_image: xcode12
232 #      before_script:
233 #        - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
234 #        - brew update
235 #      script:
236 #        - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
237 #      env:
238 #        - BTYPE="TARGET=HASWELL USE_OPENMP=1 BINARY=64 INTERFACE64=1 CC=gcc-10 FC=gfortran-10"
239 #
240 #    - <<: *test-macos
241 #      osx_image: xcode12
242 #      before_script:
243 #        - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
244 #        - brew update
245 #      script:
246 #        - travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
247 #      env:
248 #        - BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-10"      
249
250   #  - <<: *test-macos
251   #    osx_image: xcode10
252   #    env:
253   #      - BTYPE="TARGET=NEHALEM BINARY=32 NOFORTRAN=1"
254
255 #    - <<: *test-macos
256 #      osx_image: xcode11.5
257 #      before_script:
258 #        - COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
259 #        - brew update
260 #      env:
261 #        - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
262 #        - 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"
263 #        - CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
264 #        - 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"
265 #        - BTYPE="TARGET=ARMV8 BINARY=64 HOSTCC=clang NOFORTRAN=1"
266 #    - <<: *test-macos
267 #      osx_image: xcode11.5
268 #      env:
269 ##        - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
270 ##        - 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"
271 #        - CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
272 #        - 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"
273 #        - BTYPE="TARGET=ARMV7 HOSTCC=clang NOFORTRAN=1"
274
275     - &test-neoversen1
276       os: linux
277       arch: arm64
278       dist: focal
279       group: edge
280       virt: lxd
281       compiler: gcc
282       addons:
283         apt:
284           packages:
285             - gfortran
286       script:
287         - travis_wait 45 make && make lapack-test
288         
289 # whitelist
290 branches:
291   only:
292     - master
293     - develop
294
295 notifications:
296   webhooks:
297     urls:
298       - https://webhooks.gitter.im/e/8a6e4470a0cebd090344
299     on_success: change  # options: [always|never|change] default: always
300     on_failure: always  # options: [always|never|change] default: always
301     on_start: never     # options: [always|never|change] default: always