Skip to content

Commit e3ece76

Browse files
committed
use services: docker on travis
[av skip]
1 parent 4d0b1ac commit e3ece76

File tree

1 file changed

+31
-35
lines changed

1 file changed

+31
-35
lines changed

.travis.yml

Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ os:
55
env:
66
- ARCH="i686"
77
- ARCH="x86_64"
8+
sudo: required
9+
dist: trusty
10+
services: docker
811
matrix:
912
exclude:
1013
- os: osx
@@ -22,53 +25,46 @@ notifications:
2225
- http://julia.mit.edu:8000/travis-hook
2326
before_install:
2427
- make check-whitespace
25-
- if [ `uname` = "Linux" ]; then
26-
sudo apt-get install jq -y;
28+
- if [ $(uname) = Linux ]; then
2729
contrib/travis_fastfail.sh || exit 1;
28-
BUILDOPTS="-j3 USEGCC=1 LLVM_CONFIG=llvm-config-3.3 VERBOSE=1 USE_BLAS64=0 FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
29-
for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR OPENLIBM; do
30-
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
31-
done;
32-
sudo add-apt-repository ppa:staticfloat/julia-deps -y;
33-
sudo apt-get update -qq -y;
34-
if [ "$ARCH" = "i686" ]; then
35-
export BUILDOPTS="$BUILDOPTS MARCH=pentium4";
36-
sudo apt-get remove libblas3gf liblapack3gf libarmadillo2 -y;
37-
sudo apt-get install binutils:i386 -y;
38-
sudo apt-get install gcc:i386 g++:i386 make:i386 cpp:i386 g++-4.6:i386 gcc-4.6:i386 libssl-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 libopenlibm-dev:i386 libmpfr-dev:i386 -y;
39-
else
40-
export JULIA_TEST_MAXRSS_MB="500";
41-
sudo apt-get install patchelf gfortran llvm-3.3-dev libsuitesparse-dev libopenblas-dev liblapack-dev libarpack2-dev libfftw3-dev libgmp-dev libpcre3-dev libopenlibm-dev libmpfr-dev -y;
42-
fi;
43-
elif [ `uname` = "Darwin" ]; then
44-
brew tap staticfloat/julia;
45-
brew rm --force $(brew deps --HEAD julia);
30+
BUILDOPTS="-j3 VERBOSE=1 FORCE_ASSERTIONS=1";
31+
DOCKERRUN="sudo docker run -w /home/julia-$ARCH tkelman/julia32-part2:master";
32+
elif [ $(uname) = Darwin ]; then
4633
brew update;
4734
brew install -v jq;
4835
contrib/travis_fastfail.sh || exit 1;
36+
brew tap staticfloat/julia;
37+
brew rm --force $(brew deps --HEAD julia);
4938
brew install -v --only-dependencies --HEAD julia;
5039
BUILDOPTS="-j3 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 FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
5140
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
5241
for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do
5342
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
5443
done;
44+
DOCKERRUN="";
5545
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
5646
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";
5747
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
5848
fi
59-
script:
60-
- make $BUILDOPTS -C base version_git.jl.phony
6149
- git clone -q git://git.kitenet.net/moreutils
62-
- make $BUILDOPTS NO_GIT=1 JULIA_SYSIMG_BUILD_FLAGS="--output-ji ../usr/lib/julia/sys.ji" prefix=/tmp/julia install | moreutils/ts -s "%.s"
63-
- if [ `uname` = "Darwin" ]; then
64-
for name in suitesparseconfig spqr umfpack colamd cholmod amd suitesparse_wrapper; do
65-
install -pm755 usr/lib/lib${name}*.dylib* /tmp/julia/lib/julia/;
66-
done;
67-
fi
68-
- cd .. && mv julia julia2
69-
- cp /tmp/julia/lib/julia/sys.ji local.ji && /tmp/julia/bin/julia -J local.ji -e 'true' && /tmp/julia/bin/julia-debug -J local.ji -e 'true' && rm local.ji
70-
- /tmp/julia/bin/julia -e 'versioninfo()'
71-
- export JULIA_CPU_CORES=2 && cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia --check-bounds=yes runtests.jl all && /tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online pkg
72-
- cd - && mv julia2 julia
73-
- sudo dmesg
74-
- echo "Ready for packaging..."
50+
- make -C moreutils mispipe
51+
script:
52+
- |
53+
moreutils/mispipe "$DOCKERRUN sh -c \
54+
\"if [ $TRAVIS_PULL_REQUEST = false ]; then git fetch origin $TRAVIS_BRANCH: ; else \
55+
git fetch origin +refs/pull/$TRAVIS_PULL_REQUEST/merge: ; fi && \
56+
git checkout -qf FETCH_HEAD && \
57+
make $BUILDOPTS -C base version_git.jl.phony && \
58+
make $BUILDOPTS NO_GIT=1 JULIA_SYSIMG_BUILD_FLAGS='--output-ji ../usr/lib/julia/sys.ji' prefix=/tmp/julia install && \
59+
if [ $(uname) = Darwin ]; then \
60+
for name in suitesparseconfig spqr umfpack colamd cholmod amd suitesparse_wrapper; do \
61+
install -pm755 usr/lib/lib${name}*.dylib* /tmp/julia/lib/julia/; \
62+
done; \
63+
fi && \
64+
cd .. && rm -rf julia* && \
65+
cp /tmp/julia/lib/julia/sys.ji local.ji && /tmp/julia/bin/julia -J local.ji -e 'true' && /tmp/julia/bin/julia-debug -J local.ji -e 'true' && rm local.ji && \
66+
/tmp/julia/bin/julia -e 'versioninfo()' && \
67+
cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia --check-bounds=yes runtests.jl all && /tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online pkg\" \
68+
" 'moreutils/ts -s "%.s"'
69+
# uncomment the following if failures are suspected to be due to the out-of-memory killer
70+
# - sudo dmesg

0 commit comments

Comments
 (0)