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 : precise
4
+ sudo : false
1
5
language : c
6
+ compiler : gcc
7
+
8
+ jobs :
9
+ include :
10
+ - &test-ubuntu
11
+ stage : test
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
+ - set -e
20
+ - make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
21
+ - make -C test $COMMON_FLAGS $BTYPE
22
+ - make -C ctest $COMMON_FLAGS $BTYPE
23
+ - make -C utest $COMMON_FLAGS $BTYPE
24
+ env :
25
+ - TARGET_BOX=LINUX64
26
+ - BTYPE="BINARY=64"
27
+
28
+ - << : *test-ubuntu
29
+ env :
30
+ - TARGET_BOX=LINUX64
31
+ - BTYPE="BINARY=64 USE_OPENMP=1"
32
+
33
+ - << : *test-ubuntu
34
+ env :
35
+ - TARGET_BOX=LINUX64
36
+ - BTYPE="BINARY=64 INTERFACE64=1"
37
+
38
+ - << : *test-ubuntu
39
+ addons :
40
+ apt :
41
+ packages :
42
+ - gcc-multilib
43
+ - gfortran-multilib
44
+ env :
45
+ - TARGET_BOX=LINUX32
46
+ - BTYPE="BINARY=32"
47
+
48
+ - stage : test
49
+ addons :
50
+ apt :
51
+ packages :
52
+ - binutils-mingw-w64-x86-64
53
+ - gcc-mingw-w64-x86-64
54
+ - gfortran-mingw-w64-x86-64
55
+ before_script : *common-before
56
+ script :
57
+ - make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
58
+ env :
59
+ - TARGET_BOX=WIN64
60
+ - BTYPE="BINARY=64 HOSTCC=gcc CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran"
61
+
62
+ # Build & test on Alpine Linux inside chroot, i.e. on system with musl libc.
63
+ # These jobs needs sudo, so Travis runs them on VM-based infrastructure
64
+ # which is slower than container-based infrastructure used for jobs
65
+ # that don't require sudo.
66
+ - &test-alpine
67
+ stage : test
68
+ dist : trusty
69
+ sudo : true
70
+ language : minimal
71
+ before_install :
72
+ - " wget 'https://github.com/raw/alpinelinux/alpine-chroot-install/v0.6.0/alpine-chroot-install' \
73
+ && echo 'a827a4ba3d0817e7c88bae17fe34e50204983d1e alpine-chroot-install' | sha1sum -c || exit 1"
74
+ - alpine() { /alpine/enter-chroot -u "$USER" "$@"; }
75
+ install :
76
+ - sudo sh alpine-chroot-install -p 'build-base gfortran perl linux-headers'
77
+ before_script : *common-before
78
+ script :
79
+ - set -e
80
+ # XXX: Disable some warnings for now to avoid exceeding Travis limit for log size.
81
+ - alpine make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
82
+ CFLAGS="-Wno-misleading-indentation -Wno-sign-conversion -Wno-incompatible-pointer-types"
83
+ - alpine make -C test $COMMON_FLAGS $BTYPE
84
+ - alpine make -C ctest $COMMON_FLAGS $BTYPE
85
+ - alpine make -C utest $COMMON_FLAGS $BTYPE
86
+ env :
87
+ - TARGET_BOX=LINUX64_MUSL
88
+ - BTYPE="BINARY=64"
89
+
90
+ # XXX: This job segfaults in TESTS OF THE COMPLEX LEVEL 3 BLAS,
91
+ # so it's "allowed to fail" for now (see allow_failures).
92
+ - &test-alpine-openmp
93
+ << : *test-alpine
94
+ env :
95
+ - TARGET_BOX=LINUX64_MUSL
96
+ - BTYPE="BINARY=64 USE_OPENMP=1"
97
+
98
+ - << : *test-alpine
99
+ env :
100
+ - TARGET_BOX=LINUX64_MUSL
101
+ - BTYPE="BINARY=64 INTERFACE64=1"
102
+
103
+ # Build with the same flags as Alpine do in OpenBLAS package.
104
+ - << : *test-alpine
105
+ env :
106
+ - TARGET_BOX=LINUX64_MUSL
107
+ - BTYPE="BINARY=64 NO_AFFINITY=1 USE_OPENMP=0 NO_LAPACK=0 TARGET=core2"
108
+
109
+ allow_failures :
110
+ - << : *test-alpine-openmp
111
+
112
+ # whitelist
113
+ branches :
114
+ only :
115
+ - master
116
+ - develop
2
117
3
118
notifications :
4
119
webhooks :
@@ -7,32 +122,3 @@ notifications:
7
122
on_success : change # options: [always|never|change] default: always
8
123
on_failure : always # options: [always|never|change] default: always
9
124
on_start : never # options: [always|never|change] default: always
10
-
11
- compiler :
12
- - gcc
13
-
14
- env :
15
- - TARGET_BOX=LINUX64 BTYPE="BINARY=64"
16
- - TARGET_BOX=LINUX64 BTYPE="BINARY=64 USE_OPENMP=1"
17
- - TARGET_BOX=LINUX64 BTYPE="BINARY=64 INTERFACE64=1"
18
- - TARGET_BOX=LINUX32 BTYPE="BINARY=32"
19
- - TARGET_BOX=WIN64 BTYPE="BINARY=64 HOSTCC=gcc CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran"
20
-
21
- before_install :
22
- - sudo apt-get update -qq
23
- - sudo apt-get install -qq gfortran
24
- - if [[ "$TARGET_BOX" == "WIN64" ]]; then sudo apt-get install -qq binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 gfortran-mingw-w64-x86-64; fi
25
- - if [[ "$TARGET_BOX" == "LINUX32" ]]; then sudo apt-get install -qq gcc-multilib gfortran-multilib; fi
26
-
27
- script :
28
- - set -e
29
- - make QUIET_MAKE=1 DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32 $BTYPE
30
- - if [ "$TARGET_BOX" == "LINUX32" ] || [ "$TARGET_BOX" == "LINUX64" ]; then make -C test DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32 $BTYPE; fi
31
- - if [ "$TARGET_BOX" == "LINUX32" ] || [ "$TARGET_BOX" == "LINUX64" ]; then make -C ctest DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32 $BTYPE; fi
32
- - if [ "$TARGET_BOX" == "LINUX32" ] || [ "$TARGET_BOX" == "LINUX64" ]; then make -C utest DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32 $BTYPE; fi
33
-
34
- # whitelist
35
- branches :
36
- only :
37
- - master
38
- - develop
0 commit comments