mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-28 23:15:52 +00:00
74 lines
2.5 KiB
YAML
74 lines
2.5 KiB
YAML
language: cpp
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
env:
|
|
- TARGET=debug
|
|
- TARGET=debug.nounity
|
|
# We can specify any combination of builds here, for example, to
|
|
# include release builds, too, uncomment the following lines.
|
|
#- TARGET=release
|
|
#- TARGET=release.nounity
|
|
before_install:
|
|
- sudo apt-get update -qq
|
|
- sudo apt-get install -qq python-software-properties
|
|
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
|
- sudo add-apt-repository -y ppa:afrank/boost
|
|
- sudo apt-get update -qq
|
|
- sudo apt-get install -qq g++-4.8
|
|
- sudo apt-get install -qq libboost1.57-all-dev
|
|
- sudo apt-get install -qq mlocate
|
|
- sudo updatedb
|
|
- sudo locate libboost | grep /lib | grep -e ".a$"
|
|
- sudo apt-get install -qq protobuf-compiler libprotobuf-dev libssl-dev exuberant-ctags
|
|
# We need gcc >= 4.8 for some c++11 features
|
|
- sudo apt-get install -qq gcc-4.8
|
|
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
|
|
- sudo update-alternatives --set gcc /usr/bin/gcc-4.8
|
|
# Stuff is gold. Nuff said ;)
|
|
- sudo apt-get -y install binutils-gold
|
|
# We can get a backtrace if the guy crashes
|
|
- sudo apt-get -y install gdb
|
|
# What versions are we ACTUALLY running?
|
|
- g++ -v
|
|
- clang -v
|
|
# 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
|
|
- sudo chown -R $USER ~/.npm
|
|
|
|
script:
|
|
# Set so any failing command will abort the build
|
|
- set -e
|
|
# Make sure vcxproj is up to date
|
|
- scons vcxproj
|
|
- git diff --exit-code
|
|
# $CC will be either `clang` or `gcc` (If only we could do -j12 ;)
|
|
- scons $CC.$TARGET
|
|
# We can be sure we're using the build/$CC.$TARGET variant (-f so never err)
|
|
- rm -f build/rippled
|
|
- export RIPPLED_PATH="$PWD/build/$CC.$TARGET/rippled"
|
|
# See what we've actually built
|
|
- ldd $RIPPLED_PATH
|
|
# Run unittests (under gdb)
|
|
- | # create gdb script
|
|
echo "set env MALLOC_CHECK_=3" > script.gdb
|
|
echo "run" >> script.gdb
|
|
echo "backtrace full" >> script.gdb
|
|
# gdb --help
|
|
- cat script.gdb | gdb --ex 'set print thread-events off' --return-child-result --args $RIPPLED_PATH --unittest
|
|
- npm install
|
|
# Use build/(gcc|clang).$TARGET/rippled
|
|
- |
|
|
echo "exports.default_server_config = {\"rippled_path\" : \"$RIPPLED_PATH\"};" > test/config.js
|
|
|
|
# Run integration tests
|
|
- npm test
|
|
notifications:
|
|
email:
|
|
false
|
|
irc:
|
|
channels:
|
|
- "chat.freenode.net#ripple-dev"
|