travis-ci: Added travis-ci config

Added .travis.yml to get travis-ci to build and run tests for us.

In addition this fixes a flaky test due to the fact that when lightning2
connects to lightning3 and we tell lightning3 to restart, then
lightning2 will back-off its reconnection attempts, potentially causing
a timeout to trigger during tests. This was triggered by travis-ci
relatively consistently since the restart would take quite some
time. Now simply restarting them in reverse order and a small timeout
seems to fix this consistently.
This commit is contained in:
Christian Decker 2016-09-28 17:06:28 +02:00
parent 98910c03f2
commit 9848b4ac3e
2 changed files with 29 additions and 1 deletions

26
.travis.yml Normal file
View File

@ -0,0 +1,26 @@
sudo: required
dist: trusty
language: c
before_install:
- sudo add-apt-repository ppa:bitcoin/bitcoin -y
- sudo add-apt-repository ppa:ondrej/pkg-nlnetlabs -y || true # This fails due to UTF-8 in the author's name...
- sudo add-apt-repository ppa:chris-lea/libsodium -y
- sudo apt-get -qq update
install:
- sudo apt-get install -y --no-install-recommends bitcoind build-essential automake eatmydata net-tools libtool libprotobuf-c-dev libsodium-dev libsqlite3-dev valgrind protobuf-c-compiler libgmp-dev
- git clone https://github.com/luke-jr/libbase58.git libbase58; cd libbase58; ./autogen.sh; ./configure; make; sudo make install; cd ..
- git clone https://github.com/rustyrussell/lightning-rfc.git ../lightning-rfc
compiler:
- gcc
script:
- make clean
- make
- make full-check
after_failure:
- sudo killall lightningd
- sudo kill `ps aux | grep lightningd | grep -v grep | awk '{print $2}'`;
- tar -cvjf /tmp/travis-run.tar.bz2 /tmp/lightning.*.?;
- curl --upload-file /tmp/travis-run.tar.bz2 https://transfer.sh/travis-run.tar.bz2;
env:
global:
- LD_LIBRARY_PATH=/usr/local/lib

View File

@ -66,7 +66,7 @@ if [ "$RECONNECT" = restart ]; then
exit 1
fi
fi
[ "`lcli3 listinvoice RHASH | tr -s '\012\011\" ' ' '`" = "[ { label : RHASH , rhash : $RHASH , msatoshi : $HTLC_AMOUNT, complete : false } ] " ]
# Pay correctly.
lcli1 sendpay "$ROUTE" $RHASH
@ -80,6 +80,8 @@ check lcli3 "getpeers | $FGREP \"\\\"our_amount\\\" : $(($HTLC_AMOUNT - $NO_HTLC
if [ "$RECONNECT" = restart ]; then
echo RESTARTING NODE3
$LCLI3 -- dev-restart $LIGHTNINGD3 >/dev/null 2>&1 || true
sleep 5
$LCLI2 -- dev-restart $LIGHTNINGD2 >/dev/null 2>&1 || true
if ! check "$LCLI3 getpeers 2>/dev/null | tr -s '\012\011\" ' ' ' | fgrep -q 'connected : true'"; then
echo "Failed to reconnect!">&2
exit 1