Codebase list julia / upstream/0.4.0 .travis.yml
upstream/0.4.0

Tree @upstream/0.4.0 (Download .tar.gz)

.travis.yml @upstream/0.4.0raw · history · blame

language: cpp
os:
    - linux
    - osx
env:
    - ARCH="i686"
    - ARCH="x86_64"
matrix:
  exclude:
    - os: osx
      env: ARCH="i686"
notifications:
    email: false
    irc:
        channels:
            - "chat.freenode.net#julia-notifications"
        on_success: change
        on_failure: always
    webhooks:
        urls:
          - http://status.julialang.org/put/travis
          - http://julia.mit.edu:8000/travis-hook
before_install:
    - make check-whitespace
    - if [ `uname` = "Linux" ]; then
        sudo apt-get install jq -y;
        contrib/travis_fastfail.sh || exit 1;
        BUILDOPTS="-j3 USEGCC=1 LLVM_CONFIG=llvm-config-3.3 VERBOSE=1 USE_BLAS64=0 FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
        for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR LIBUNWIND OPENLIBM; do
            export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
        done;
        sudo add-apt-repository ppa:staticfloat/julia-deps -y;
        sudo apt-get update -qq -y;
        if [ "$ARCH" = "i686" ]; then
          sudo apt-get remove libblas3gf liblapack3gf libarmadillo2 -y;
          sudo apt-get install binutils:i386 -y;
          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 libunwind7-dev:i386 libopenlibm-dev:i386 libmpfr-dev:i386 -y;
        else
          sudo apt-get install patchelf gfortran llvm-3.3-dev libsuitesparse-dev libopenblas-dev liblapack-dev libarpack2-dev libfftw3-dev libgmp-dev libpcre3-dev libunwind7-dev libopenlibm-dev libmpfr-dev -y;
        fi;
      elif [ `uname` = "Darwin" ]; then
        brew tap staticfloat/julia;
        brew rm --force $(brew deps --HEAD julia);
        brew update;
        brew install -v jq;
        contrib/travis_fastfail.sh || exit 1;
        brew install -v --only-dependencies --HEAD julia;
        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";
        BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
        for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do
            export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
        done;
        export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
        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";
        make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
      fi
script:
    - make $BUILDOPTS -C base version_git.jl.phony
    - git clone -q git://git.kitenet.net/moreutils
    - make $BUILDOPTS NO_GIT=1 JULIA_SYSIMG_BUILD_FLAGS="--output-ji ../usr/lib/julia/sys.ji" prefix=/tmp/julia install | moreutils/ts -s "%.s"
    - if [ `uname` = "Darwin" ]; then
        for name in suitesparseconfig spqr umfpack colamd cholmod amd suitesparse_wrapper; do
            install -pm755 usr/lib/lib${name}*.dylib* /tmp/julia/lib/julia/;
        done;
      fi
    - cd .. && mv julia julia2
    - 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
    - /tmp/julia/bin/julia -e 'versioninfo()'
    - 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 pkg
    - cd - && mv julia2 julia
    - sudo dmesg
    - echo "Ready for packaging..."