mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 19:15:54 +00:00
Add Travis support
This commit is contained in:
69
.travis.yml
Normal file
69
.travis.yml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
sudo: false
|
||||||
|
language: cpp
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
# Maintenance note: to move to a new version
|
||||||
|
# of boost, update both BOOST_ROOT and BOOST_URL.
|
||||||
|
# Note that for simplicity, BOOST_ROOT's final
|
||||||
|
# namepart must match the folder name internal
|
||||||
|
# to boost's .tar.gz.
|
||||||
|
- BOOST_ROOT=$HOME/boost_1_60_0
|
||||||
|
- BOOST_URL='http://downloads.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F1.60.0%2Fboost_1_60_0.tar.gz&ts=1460417589&use_mirror=netix'
|
||||||
|
packages: &gcc5_pkgs
|
||||||
|
- gcc-5
|
||||||
|
- g++-5
|
||||||
|
- python-software-properties
|
||||||
|
- protobuf-compiler
|
||||||
|
- libstdc++6
|
||||||
|
- binutils-gold
|
||||||
|
# Provides a backtrace if the unittests crash
|
||||||
|
- gdb
|
||||||
|
|
||||||
|
packages: &clang36_pkgs
|
||||||
|
- clang-3.6
|
||||||
|
- g++-5
|
||||||
|
- python-software-properties
|
||||||
|
- libssl-dev
|
||||||
|
- libstdc++6
|
||||||
|
- binutils-gold
|
||||||
|
# Provides a backtrace if the unittests crash
|
||||||
|
- gdb
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- compiler: gcc
|
||||||
|
env: GCC_VER=5 VARIANT=debug
|
||||||
|
addons: &ao_gcc5
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: *gcc5_pkgs
|
||||||
|
|
||||||
|
- compiler: gcc
|
||||||
|
env: GCC_VER=5 VARIANT=release
|
||||||
|
addons: *ao_gcc5
|
||||||
|
|
||||||
|
- compiler: clang
|
||||||
|
env: GCC_VER=5 VARIANT=debug CLANG_VER=3.6
|
||||||
|
addons: &ao_clang36
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.6']
|
||||||
|
packages: *clang36_pkgs
|
||||||
|
|
||||||
|
- compiler: clang
|
||||||
|
env: GCC_VER=5 VARIANT=release CLANG_VER=3.6
|
||||||
|
addons: *ao_clang36
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- $BOOST_ROOT
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- scripts/install-dependencies.sh
|
||||||
|
|
||||||
|
script:
|
||||||
|
- scripts/build-and-test.sh
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
email:
|
||||||
|
false
|
||||||
2
Jamroot
2
Jamroot
@@ -58,7 +58,7 @@ project beast
|
|||||||
<define>BOOST_ALL_NO_LIB=1
|
<define>BOOST_ALL_NO_LIB=1
|
||||||
<threading>multi
|
<threading>multi
|
||||||
<link>static
|
<link>static
|
||||||
<runtime-link>static
|
<runtime-link>shared
|
||||||
<toolset>gcc:<cxxflags>-std=c++14
|
<toolset>gcc:<cxxflags>-std=c++14
|
||||||
<toolset>clang:<cxxflags>-std=c++14
|
<toolset>clang:<cxxflags>-std=c++14
|
||||||
<os>LINUX:<define>_XOPEN_SOURCE=600
|
<os>LINUX:<define>_XOPEN_SOURCE=600
|
||||||
|
|||||||
11
scripts/build-and-test.sh
Executable file
11
scripts/build-and-test.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash -u
|
||||||
|
# We use set -e and bash with -u to bail on first non zero exit code of any
|
||||||
|
# processes launched or upon any unbound variable
|
||||||
|
set -e
|
||||||
|
__dirname=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||||
|
echo "using toolset: $CC"
|
||||||
|
echo "using variant: $VARIANT"
|
||||||
|
|
||||||
|
$BOOST_ROOT/bjam toolset=$CC variant=$VARIANT
|
||||||
|
`find . -name "core_tests"`
|
||||||
|
`find . -name "http_tests"`
|
||||||
24
scripts/install-boost.sh
Executable file
24
scripts/install-boost.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Assumptions:
|
||||||
|
# 1) BOOST_ROOT and BOOST_URL are already defined,
|
||||||
|
# and contain valid values.
|
||||||
|
# 2) The last namepart of BOOST_ROOT matches the
|
||||||
|
# folder name internal to boost's .tar.gz
|
||||||
|
# When testing you can force a boost build by clearing travis caches:
|
||||||
|
# https://travis-ci.org/ripple/rippled/caches
|
||||||
|
set -e
|
||||||
|
if [ ! -d "$BOOST_ROOT/lib" ]
|
||||||
|
then
|
||||||
|
wget $BOOST_URL -O /tmp/boost.tar.gz
|
||||||
|
cd `dirname $BOOST_ROOT`
|
||||||
|
rm -fr ${BOOST_ROOT}
|
||||||
|
tar xzf /tmp/boost.tar.gz
|
||||||
|
params="define=_GLIBCXX_USE_CXX11_ABI=0 --with-program_options --with-system"
|
||||||
|
cd $BOOST_ROOT && \
|
||||||
|
./bootstrap.sh --prefix=$BOOST_ROOT && \
|
||||||
|
./b2 -d1 $params && \
|
||||||
|
./b2 -d0 $params install
|
||||||
|
else
|
||||||
|
echo "Using cached boost at $BOOST_ROOT"
|
||||||
|
fi
|
||||||
|
|
||||||
34
scripts/install-dependencies.sh
Executable file
34
scripts/install-dependencies.sh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash -u
|
||||||
|
# Exit if anything fails.
|
||||||
|
set -e
|
||||||
|
# Override gcc version to $GCC_VER.
|
||||||
|
# Put an appropriate symlink at the front of the path.
|
||||||
|
mkdir -v $HOME/bin
|
||||||
|
for g in gcc g++ gcov gcc-ar gcc-nm gcc-ranlib
|
||||||
|
do
|
||||||
|
test -x $( type -p ${g}-$GCC_VER )
|
||||||
|
ln -sv $(type -p ${g}-$GCC_VER) $HOME/bin/${g}
|
||||||
|
done
|
||||||
|
for c in clang clang++
|
||||||
|
do
|
||||||
|
test -x $( type -p ${c}-$CLANG_VER )
|
||||||
|
ln -sv $(type -p ${c}-$CLANG_VER) $HOME/bin/${c}
|
||||||
|
done
|
||||||
|
export PATH=$PWD/bin:$PATH
|
||||||
|
|
||||||
|
# What versions are we ACTUALLY running?
|
||||||
|
if [ -x $HOME/bin/g++ ]; then
|
||||||
|
$HOME/bin/g++ -v
|
||||||
|
fi
|
||||||
|
if [ -x $HOME/bin/clang ]; then
|
||||||
|
$HOME/bin/clang -v
|
||||||
|
fi
|
||||||
|
# Avoid `spurious errors` caused by ~/.npm permission issues
|
||||||
|
# Does it already exist? Who owns? What permissions?
|
||||||
|
ls -lah ~/.npm || mkdir ~/.npm
|
||||||
|
# Make sure we own it
|
||||||
|
chown -Rc $USER ~/.npm
|
||||||
|
# We use this so we can filter the subtrees from our coverage report
|
||||||
|
#pip install --user https://github.com/vinniefalco/codecov-python/zipball/source-match
|
||||||
|
|
||||||
|
bash scripts/install-boost.sh
|
||||||
Reference in New Issue
Block a user