You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

.travis.yml 4.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. sudo: required
  2. dist: trusty
  3. #workaround for https://github.com/travis-ci/travis-ci/issues/5227
  4. addons:
  5. hostname: bitcoin-tester
  6. os: linux
  7. language: generic
  8. cache:
  9. directories:
  10. - depends/built
  11. - depends/sdk-sources
  12. - $HOME/.ccache
  13. env:
  14. global:
  15. - MAKEJOBS=-j3
  16. - RUN_TESTS=false
  17. - CHECK_DOC=0
  18. - BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
  19. - CCACHE_SIZE=100M
  20. - CCACHE_TEMPDIR=/tmp/.ccache-temp
  21. - CCACHE_COMPRESS=1
  22. - BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
  23. - SDK_URL=https://bitcoincore.org/depends-sources/sdks
  24. - PYTHON_DEBUG=1
  25. - WINEDEBUG=fixme-all
  26. matrix:
  27. # ARM
  28. - HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
  29. # Win32
  30. - HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6 bc openjdk-7-jre-headless" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports"
  31. # 32-bit + dash
  32. - HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq openjdk-7-jre-headless" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash"
  33. # Win64
  34. - HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.6 bc openjdk-7-jre-headless" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports"
  35. # bitcoind
  36. - HOST=x86_64-unknown-linux-gnu PACKAGES="bc python3-zmq openjdk-7-jre-headless" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER"
  37. # No wallet
  38. - HOST=x86_64-unknown-linux-gnu PACKAGES=" openjdk-7-jre-headless python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
  39. # Cross-Mac
  40. - HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" BITCOIN_CONFIG="--enable-reduce-exports" OSX_SDK=10.9 GOAL="deploy"
  41. before_install:
  42. - export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
  43. install:
  44. - if [ -n "$PPA" ]; then travis_retry sudo add-apt-repository "$PPA" -y; fi
  45. - if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
  46. - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
  47. - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
  48. before_script:
  49. - unset CC; unset CXX
  50. - if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi
  51. - mkdir -p depends/SDKs depends/sdk-sources
  52. - if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
  53. - if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
  54. - make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
  55. script:
  56. - export TRAVIS_COMMIT_LOG=`git log --format=fuller -1`
  57. - if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
  58. - OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
  59. - BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
  60. - depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
  61. - test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
  62. - mkdir build && cd build
  63. - ../configure $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
  64. - make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
  65. - export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
  66. - if [ "$RUN_TESTS" = "true" ]; then make $MAKEJOBS check VERBOSE=1; fi
  67. - if [ "$RUN_TESTS" = "true" ]; then qa/pull-tester/rpc-tests.py --coverage; fi
  68. after_script:
  69. - echo $TRAVIS_COMMIT_RANGE
  70. - echo $TRAVIS_COMMIT_LOG