mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-20 13:54:36 +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
|
||||
dist: trusty
|
||||
sudo: true
|
||||
dist: xenial
|
||||
sudo: false
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- python3-pip
|
||||
- libsqlite3-dev
|
||||
- shellcheck
|
||||
- cppcheck
|
||||
- valgrind
|
||||
- libomp-dev
|
||||
|
||||
env:
|
||||
- ARCH=32 SOURCE_CHECK_ONLY=true
|
||||
- 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=2 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=64 DEVELOPER=1 COMPILER=gcc 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
|
||||
|
@ -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=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
|
||||
cache:
|
||||
directories:
|
||||
dependencies
|
||||
external
|
||||
|
||||
# Trusty (aka 14.04) is way way too old, so run in docker...
|
||||
script:
|
||||
- docker pull cdecker/lightning-ci:${ARCH}bit | tee
|
||||
- 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
|
||||
.travis/build.sh
|
||||
|
|
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
|
||||
# (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.
|
||||
FEATURES :=
|
||||
|
|
Loading…
Add table
Reference in a new issue