1
1
language : cpp
2
- os :
3
- - linux
4
- # - osx # this build is running out of time frequently now, disable it until we can make the tests it runs faster / fewer
5
- env :
6
- - ARCH="i686"
7
- - ARCH="x86_64"
2
+ sudo : false
8
3
matrix :
9
- exclude :
10
- - os : osx
4
+ include :
5
+ - os : linux
11
6
env : ARCH="i686"
7
+ compiler : " g++-5 -m32"
8
+ addons :
9
+ apt :
10
+ sources :
11
+ - ubuntu-toolchain-r-test
12
+ packages :
13
+ - bar
14
+ - time
15
+ - binutils
16
+ - gcc-5
17
+ - g++-5
18
+ - gcc-5-multilib
19
+ - g++-5-multilib
20
+ - make:i386
21
+ - libssl-dev:i386
22
+ - gfortran-5
23
+ - gfortran-5-multilib
24
+ - os : linux
25
+ env : ARCH="x86_64"
26
+ compiler : " g++-5 -m64"
27
+ addons :
28
+ apt :
29
+ sources :
30
+ - ubuntu-toolchain-r-test
31
+ packages :
32
+ - bar
33
+ - time
34
+ - g++-5
35
+ - gfortran-5
36
+ - os : osx
37
+ env : ARCH="x86_64"
38
+ osx_image : xcode8
39
+ cache :
40
+ directories :
41
+ - $TRAVIS_BUILD_DIR/deps/srccache
42
+ - $TRAVIS_BUILD_DIR/deps/scratch
43
+ - $TRAVIS_BUILD_DIR/deps/usr-staging
44
+ branches :
45
+ only :
46
+ - master
47
+ - /release-.*/
12
48
notifications :
13
49
email : false
14
50
irc :
@@ -21,47 +57,78 @@ notifications:
21
57
- http://status.julialang.org/put/travis
22
58
- http://julia.mit.edu:8000/travis-hook
23
59
before_install :
60
+ - make check-whitespace
24
61
- if [ `uname` = "Linux" ]; then
25
- BUILDOPTS="USEGCC=1 LLVM_CONFIG=llvm-config-3.3 LLVM_LLC=llc-3.3 VERBOSE=1 USE_BLAS64=0";
26
- for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND OPENLIBM RMATH; do
27
- export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
28
- done;
29
- sudo add-apt-repository ppa:staticfloat/julia-deps -y;
30
- sudo apt-get update -qq -y;
31
- if [ "$ARCH" = "i686" ]; then
32
- sudo apt-get remove libblas3gf liblapack3gf libarmadillo2 -y;
33
- sudo apt-get install binutils:i386 -y;
34
- sudo apt-get install gcc:i386 g++:i386 make:i386 cpp:i386 g++-4.6:i386 gcc-4.6:i386 libssl-dev:i386 zlib1g-dev:i386 patchelf:i386 gfortran:i386 llvm-3.3-dev:i386 libsuitesparse-dev:i386 libopenblas-dev:i386 libopenblas-base:i386 libblas-dev:i386 liblapack-dev:i386 liblapack3:i386 libarpack2-dev:i386 libarpack2:i386 libfftw3-dev:i386 libgmp-dev:i386 libpcre3-dev:i386 libunwind7-dev:i386 libopenlibm-dev:i386 librmath-dev:i386 libmpfr-dev:i386 -y;
35
- else
36
- sudo apt-get install zlib1g-dev patchelf gfortran llvm-3.3-dev libsuitesparse-dev libopenblas-dev liblapack-dev libarpack2-dev libfftw3-dev libgmp-dev libpcre3-dev libunwind7-dev libopenlibm-dev librmath-dev libmpfr-dev -y;
37
- fi;
62
+ contrib/travis_fastfail.sh || exit 1;
63
+ mkdir -p $HOME/bin;
64
+ ln -s /usr/bin/gcc-5 $HOME/bin/gcc;
65
+ ln -s /usr/bin/g++-5 $HOME/bin/g++;
66
+ ln -s /usr/bin/gfortran-5 $HOME/bin/gfortran;
67
+ ln -s /usr/bin/gcc-5 $HOME/bin/x86_64-linux-gnu-gcc;
68
+ ln -s /usr/bin/g++-5 $HOME/bin/x86_64-linux-gnu-g++;
69
+ gcc --version;
70
+ BAR="bar -i 30";
71
+ BUILDOPTS="-j3 VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1";
72
+ echo "override ARCH=$ARCH" >> Make.user;
73
+ TESTSTORUN="all";
38
74
elif [ `uname` = "Darwin" ]; then
75
+ brew update;
76
+ brew install -v jq pv;
77
+ BAR="pv -i 30";
78
+ contrib/travis_fastfail.sh || exit 1;
39
79
brew tap staticfloat/julia;
40
80
brew rm --force $(brew deps --HEAD julia);
41
- brew update;
42
- sed -i '' -e "s@https://downloads.sf.net/project/machomebrew/Bottles@https://cache.e.ip.saba.us/https://downloads.sf.net/project/machomebrew/Bottles@" /usr/local/Library/Homebrew/software_spec.rb;
43
- sed -i '' -e "s@https://homebrew.bintray.com@https://cache.e.ip.saba.us/https://homebrew.bintray.com@" /usr/local/Library/Homebrew/software_spec.rb;
44
81
brew install -v --only-dependencies --HEAD julia;
45
- BUILDOPTS="USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm33-julia)/bin/llvm-config-3.3 VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include";
82
+ brew install -v staticfloat/juliadeps/libgfortran llvm39-julia;
83
+ BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm39-julia)/bin/llvm-config LLVM_SIZE=$(brew --prefix llvm39-julia)/bin/llvm-size";
84
+ BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1";
46
85
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
47
- for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2 ; do
86
+ for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND; do
48
87
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
49
88
done;
50
89
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
51
90
export DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib:$(brew --prefix openblas-julia)/lib:$(brew --prefix suite-sparse-julia)/lib:$(brew --prefix arpack-julia)/lib";
91
+ export JULIA_MACOS_SPAWN="DYLD_FALLBACK_LIBRARY_PATH=\"$DYLD_FALLBACK_LIBRARY_PATH\" \$1";
92
+ export BUILDOPTS="$BUILDOPTS spawn=\$(JULIA_MACOS_SPAWN)";
52
93
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
53
- fi
94
+ TESTSTORUN="all --skip linalg/triangular subarray"; fi # TODO: re enable these if possible without timing out
95
+ - git clone -q git://git.kitenet.net/moreutils
54
96
script :
55
- - make check-whitespace || exit 1
56
- - make $BUILDOPTS prefix=/tmp/julia install
97
+ - echo $BUILDOPTS
98
+ - contrib/download_cmake.sh
99
+ - make -C moreutils mispipe
100
+ - make $BUILDOPTS -C base version_git.jl.phony
101
+ # capture the log, but only print it if `make deps` fails
102
+ # try to show the end of the log first, because this log might be very long (> 4MB)
103
+ # and thus be truncated by travis
104
+ - moreutils/mispipe "make $BUILDOPTS NO_GIT=1 -C deps 2> deps-err.log" "$BAR" > deps.log ||
105
+ { echo "-- deps build log stderr tail 100 --------------------------------------";
106
+ tail -n 100 deps-err.log;
107
+ echo "-- deps build log stdout tail 100 --------------------------------------";
108
+ tail -n 100 deps.log;
109
+ echo "-- deps build log stderr all -------------------------------------------";
110
+ cat deps-err.log;
111
+ echo "-- deps build log stdout all -------------------------------------------";
112
+ cat deps.log;
113
+ echo "-- end of deps build log -----------------------------------------------";
114
+ false; }
115
+ - make $BUILDOPTS NO_GIT=1 prefix=/tmp/julia install | moreutils/ts -s "%.s"
116
+ - make $BUILDOPTS NO_GIT=1 build-stats
117
+ - du -sk /tmp/julia/*
57
118
- if [ `uname` = "Darwin" ]; then
58
- for name in spqr umfpack colamd cholmod amd suitesparse_wrapper; do
119
+ for name in suitesparseconfig spqr umfpack colamd cholmod amd suitesparse_wrapper; do
59
120
install -pm755 usr/lib/lib${name}*.dylib* /tmp/julia/lib/julia/;
60
121
done;
61
122
fi
62
123
- cd .. && mv julia julia2
63
- - cp /tmp/julia/lib/julia/sys.ji local.ji && /tmp/julia/bin/julia-debug -J local.ji -e 'true' && rm local.ji
64
- - /tmp/julia/bin/julia-debug -e 'versioninfo()'
65
- - cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia-debug --check-bounds=yes runtests.jl all && /tmp/julia/bin/julia-debug --check-bounds=yes runtests.jl pkg
66
- - cd - && mv julia2 julia
67
- - echo "Ready for packaging..."
124
+ - /tmp/julia/bin/julia --precompiled=no -e 'true' &&
125
+ /tmp/julia/bin/julia-debug --precompiled=no -e 'true'
126
+ - /tmp/julia/bin/julia -e 'versioninfo()'
127
+ - export JULIA_CPU_CORES=2 && export JULIA_TEST_MAXRSS_MB=600 &&
128
+ cd /tmp/julia/share/julia/test &&
129
+ /tmp/julia/bin/julia --check-bounds=yes runtests.jl $TESTSTORUN &&
130
+ /tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online pkg
131
+ - cd `dirname $TRAVIS_BUILD_DIR` && mv julia2 julia &&
132
+ rm -f julia/deps/scratch/libgit2-*/CMakeFiles/CMakeOutput.log
133
+ # uncomment the following if failures are suspected to be due to the out-of-memory killer
134
+ # - dmesg
0 commit comments