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