mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 14:42:40 +01:00
travis: Attempt to setup travis without docker and without sudo
This should speed up testing since it no longer requires virtualization.
This commit is contained in:
parent
35545f705f
commit
7ac0f53da3
3 changed files with 64 additions and 16 deletions
34
.travis.yml
34
.travis.yml
|
@ -1,15 +1,24 @@
|
||||||
language: c
|
language: c
|
||||||
dist: trusty
|
dist: xenial
|
||||||
sudo: true
|
sudo: false
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- python3-pip
|
||||||
|
- libsqlite3-dev
|
||||||
|
- shellcheck
|
||||||
|
- cppcheck
|
||||||
|
- valgrind
|
||||||
|
- libomp-dev
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- ARCH=32 SOURCE_CHECK_ONLY=true
|
|
||||||
- ARCH=64 SOURCE_CHECK_ONLY=true CDEBUGFLAGS="-std=gnu11 -g -fstack-protector -O3 -flto" LDFLAGS="-O3 -flto"
|
- ARCH=64 SOURCE_CHECK_ONLY=true CDEBUGFLAGS="-std=gnu11 -g -fstack-protector -O3 -flto" LDFLAGS="-O3 -flto"
|
||||||
- VALGRIND=0 ARCH=32 DEVELOPER=1 COMPILER=gcc TEST_GROUP=1 TEST_GROUP_COUNT=2 SOURCE_CHECK_ONLY=false
|
# - VALGRIND=0 ARCH=32 DEVELOPER=1 COMPILER=gcc TEST_GROUP=1 TEST_GROUP_COUNT=2 SOURCE_CHECK_ONLY=false
|
||||||
- VALGRIND=0 ARCH=32 DEVELOPER=1 COMPILER=gcc TEST_GROUP=2 TEST_GROUP_COUNT=2 SOURCE_CHECK_ONLY=false
|
# - VALGRIND=0 ARCH=32 DEVELOPER=1 COMPILER=gcc TEST_GROUP=2 TEST_GROUP_COUNT=2 SOURCE_CHECK_ONLY=false
|
||||||
- VALGRIND=0 ARCH=64 DEVELOPER=1 COMPILER=gcc SOURCE_CHECK_ONLY=false
|
- VALGRIND=0 ARCH=64 DEVELOPER=1 COMPILER=gcc SOURCE_CHECK_ONLY=false
|
||||||
- VALGRIND=0 ARCH=64 DEVELOPER=0 COMPILER=gcc COMPAT=0 SOURCE_CHECK_ONLY=false
|
- VALGRIND=0 ARCH=64 DEVELOPER=0 COMPILER=gcc COMPAT=0 SOURCE_CHECK_ONLY=false
|
||||||
- VALGRIND=1 ARCH=64 DEVELOPER=0 COMPILER=gcc TEST_GROUP=1 TEST_GROUP_COUNT=3 SOURCE_CHECK_ONLY=false
|
- VALGRIND=1 ARCH=64 DEVELOPER=0 COMPILER=gcc TEST_GROUP=1 TEST_GROUP_COUNT=3 SOURCE_CHECK_ONLY=false
|
||||||
|
@ -22,15 +31,10 @@ env:
|
||||||
- VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=4 TEST_GROUP_COUNT=6 SOURCE_CHECK_ONLY=false
|
- VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=4 TEST_GROUP_COUNT=6 SOURCE_CHECK_ONLY=false
|
||||||
- VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=5 TEST_GROUP_COUNT=6 SOURCE_CHECK_ONLY=false
|
- VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=5 TEST_GROUP_COUNT=6 SOURCE_CHECK_ONLY=false
|
||||||
- VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=6 TEST_GROUP_COUNT=6 SOURCE_CHECK_ONLY=false
|
- VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=6 TEST_GROUP_COUNT=6 SOURCE_CHECK_ONLY=false
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
dependencies
|
||||||
|
external
|
||||||
|
|
||||||
# Trusty (aka 14.04) is way way too old, so run in docker...
|
|
||||||
script:
|
script:
|
||||||
- docker pull cdecker/lightning-ci:${ARCH}bit | tee
|
.travis/build.sh
|
||||||
- env | grep -E '^[A-Z_]+\=' | grep -vi travis | tee /tmp/envlist
|
|
||||||
- echo SLOW_MACHINE=1 >> /tmp/envlist
|
|
||||||
- docker run --rm=true --env-file=/tmp/envlist -v "${TRAVIS_BUILD_DIR}":/build -t cdecker/lightning-ci:${ARCH}bit ./configure CC=${COMPILER:-gcc}
|
|
||||||
- $SOURCE_CHECK_ONLY || docker run --rm=true --env-file=/tmp/envlist -v "${TRAVIS_BUILD_DIR}":/build -t cdecker/lightning-ci:${ARCH}bit make -j3
|
|
||||||
- $SOURCE_CHECK_ONLY || docker run --rm=true --env-file=/tmp/envlist -v "${TRAVIS_BUILD_DIR}":/build -t cdecker/lightning-ci:${ARCH}bit make check
|
|
||||||
- (! $SOURCE_CHECK_ONLY) || git clone https://github.com/lightningnetwork/lightning-rfc.git
|
|
||||||
- (! $SOURCE_CHECK_ONLY) || docker run --rm=true -v "${TRAVIS_BUILD_DIR}":/build -t cdecker/lightning-ci:${ARCH}bit make clean
|
|
||||||
- (! $SOURCE_CHECK_ONLY) || docker run --rm=true -v "${TRAVIS_BUILD_DIR}":/build -t cdecker/lightning-ci:${ARCH}bit make check-source BOLTDIR=lightning-rfc
|
|
||||||
|
|
44
.travis/build.sh
Executable file
44
.travis/build.sh
Executable file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash -x
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
export SLOW_MACHINE=1
|
||||||
|
export CC=${COMPILER:-gcc}
|
||||||
|
export DEVELOPER=${DEVELOPER:-1}
|
||||||
|
export SOURCE_CHECK_ONLY=${SOURCE_CHECK_ONLY:-"false"}
|
||||||
|
export COMPAT=${COMPAT:-1}
|
||||||
|
export PATH=$CWD/dependencies/bin:"$HOME"/.local/bin:"$PATH"
|
||||||
|
|
||||||
|
mkdir -p dependencies/bin || true
|
||||||
|
|
||||||
|
# Download bitcoind and bitcoin-cli
|
||||||
|
if [ ! -f dependencies/bin/bitcoind ]; then
|
||||||
|
wget https://bitcoin.org/bin/bitcoin-core-0.17.1/bitcoin-0.17.1-x86_64-linux-gnu.tar.gz
|
||||||
|
tar -xzf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz
|
||||||
|
mv bitcoin-0.17.1/bin/* dependencies/bin
|
||||||
|
rm -rf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz bitcoin-0.17.1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pyenv global 3.7
|
||||||
|
pip3 install --user --quiet -r tests/requirements.txt
|
||||||
|
pip3 install --quiet \
|
||||||
|
pytest-test-groups==1.0.3
|
||||||
|
|
||||||
|
echo "Configuration which is going to be built:"
|
||||||
|
echo -en 'travis_fold:start:script.1\\r'
|
||||||
|
./configure CC="$CC"
|
||||||
|
cat config.vars
|
||||||
|
echo -en 'travis_fold:end:script.1\\r'
|
||||||
|
|
||||||
|
if [ "$SOURCE_CHECK_ONLY" == "false" ]; then
|
||||||
|
echo -en 'travis_fold:start:script.2\\r'
|
||||||
|
make -j3 > /dev/null
|
||||||
|
echo -en 'travis_fold:end:script.2\\r'
|
||||||
|
|
||||||
|
echo -en 'travis_fold:start:script.3\\r'
|
||||||
|
make check
|
||||||
|
echo -en 'travis_fold:end:script.3\\r'
|
||||||
|
else
|
||||||
|
git clone https://github.com/lightningnetwork/lightning-rfc.git
|
||||||
|
make check-source BOLTDIR=lightning-rfc
|
||||||
|
fi
|
2
Makefile
2
Makefile
|
@ -52,7 +52,7 @@ endif
|
||||||
|
|
||||||
# Timeout shortly before the 600 second travis silence timeout
|
# Timeout shortly before the 600 second travis silence timeout
|
||||||
# (method=thread to support xdist)
|
# (method=thread to support xdist)
|
||||||
PYTEST_OPTS := -v --timeout=550 --timeout_method=thread
|
PYTEST_OPTS := -v --timeout=550 --timeout_method=thread -p no:logging
|
||||||
|
|
||||||
# This is where we add new features as bitcoin adds them.
|
# This is where we add new features as bitcoin adds them.
|
||||||
FEATURES :=
|
FEATURES :=
|
||||||
|
|
Loading…
Add table
Reference in a new issue