.travis.yml 3.2 KB
Newer Older
A
Adam Mitz 已提交
1 2
language: cpp
compiler: clang
3
services: mongodb
4 5

matrix:
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
  include:
    - os: linux
      dist: trusty
      sudo: false
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty-4.0
          packages:
            - llvm-4.0-dev
            - clang-4.0
            - g++-6
            - ninja-build
            - libgmp-dev
    - os: osx
      osx_image: xcode9.1
23

24
before_install:
25 26 27 28 29
  - |
    mkdir ext && cd ext
    if [ "$TRAVIS_OS_NAME" == "osx" ]; then
      brew install boost openssl llvm@4 gmp gettext ninja
      brew link gettext --force
A
Adam Mitz 已提交
30 31 32 33 34
      WASM_BRANCH=macos
      export CC=/usr/local/opt/llvm@4/bin/clang
      export CXX=/usr/local/opt/llvm@4/bin/clang++
      MONGOCXX_CMAKE_OPTIONS="-DLIBBSON_DIR=/usr/local -DLIBMONGOC_DIR=/usr/local"
      EOS_CMAKE_OPTIONS="-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"
35
    else
A
Adam Mitz 已提交
36 37 38 39 40 41 42
      WASM_BRANCH=master
      CMAKE_DIR=$TRAVIS_BUILD_DIR/ext/cmake-3.9.0-Linux-x86_64/bin/
      export CC=clang-4.0
      export CXX=clang++-4.0
      export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/ext/lib
      MONGOCXX_CMAKE_OPTIONS="-DLIBBSON_DIR=$TRAVIS_BUILD_DIR/ext -DLIBMONGOC_DIR=$TRAVIS_BUILD_DIR/ext"
      EOS_CMAKE_OPTIONS="-DBOOST_ROOT=$TRAVIS_BUILD_DIR/ext"
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
      wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2
      tar xjf boost_1_64_0.tar.bz2
      cd boost_1_64_0
      ./bootstrap.sh --prefix=$TRAVIS_BUILD_DIR/ext
      "echo 'using clang : 4.0 : clang++-4.0 ;' >> project-config.jam"
      ./b2 -d0 -j4 --with-thread --with-date_time --with-system --with-filesystem --with-program_options --with-signals --with-serialization --with-chrono --with-test --with-context --with-locale --with-coroutine toolset=clang link=static install
      cd $TRAVIS_BUILD_DIR/ext
      wget https://cmake.org/files/v3.9/cmake-3.9.0-Linux-x86_64.tar.gz
      tar xzf cmake-3.9.0-Linux-x86_64.tar.gz
      wget https://github.com/mongodb/mongo-c-driver/releases/download/1.8.0/mongo-c-driver-1.8.0.tar.gz
      tar xzf mongo-c-driver-1.8.0.tar.gz
      cd mongo-c-driver-1.8.0
      ./configure --disable-automatic-init-and-cleanup --enable-static --prefix=$TRAVIS_BUILD_DIR/ext
      make
      make install
    fi
    cd $TRAVIS_BUILD_DIR/ext
A
Adam Mitz 已提交
60
    git clone --depth 1 -b $WASM_BRANCH git://github.com/oci-labs/clang-WebAssembly wasm-compiler
61 62 63 64 65 66 67 68 69 70 71 72 73
    git clone --depth 1 git://github.com/cryptonomex/secp256k1-zkp
    cd secp256k1-zkp
    ./autogen.sh
    ./configure --prefix=$TRAVIS_BUILD_DIR/ext
    make
    make install
    cd $TRAVIS_BUILD_DIR/ext
    git clone --depth 1 -b releases/stable git://github.com/mongodb/mongo-cxx-driver
    cd mongo-cxx-driver/build
    ${CMAKE_DIR}cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/ext $MONGOCXX_CMAKE_OPTIONS ..
    ninja install
    cd $TRAVIS_BUILD_DIR

K
Kevin Heifner 已提交
74
script:
75
  - mkdir build && cd build
A
Adam Mitz 已提交
76
  - ${CMAKE_DIR}cmake -G Ninja -DWASM_LLVM_CONFIG=$TRAVIS_BUILD_DIR/ext/wasm-compiler/bin/llvm-config -DSecp256k1_ROOT_DIR=$TRAVIS_BUILD_DIR/ext -DBINARYEN_ROOT=$TRAVIS_BUILD_DIR/ext/wasm-compiler -DCMAKE_PREFIX_PATH=$TRAVIS_BUILD_DIR/ext $EOS_CMAKE_OPTIONS ..
77
  - ninja -j4
P
Phil Mesnier 已提交
78
  - tests/eosd_run_test.sh
A
Adam Mitz 已提交
79
  - tests/chain_test
B
Brian Johnson 已提交
80
  - tests/slow_test
B
Brian Johnson 已提交
81
  - tests/api_test
P
Phil Mesnier 已提交
82
  - tests/p2p_tests/sync/test.sh
K
Kevin Heifner 已提交
83
  - tests/eosd_run_mongodb_test.sh