language: c dist: bionic notifications: email: false before_install: sudo apt-get install -y libsqlite3-dev cppcheck valgrind gcc-4.8 gettext libc6-dev-armhf-cross libc6-dev-arm64-cross gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf qemu-user-static binfmt-support libsecp256k1-dev libpq-dev postgresql env: # These run superficial checks that don't take too long on their own - ARCH=64 TEST_CMD="make" NO_PYTHON=1 - ARCH=64 TEST_CMD="make check-source check-units installcheck" COPTFLAGS="-O3" - ARCH=32 TEST_CMD="make check-source check-units installcheck" DEVELOPER=0 - ARCH=64 TEST_CMD="make check-source check-units installcheck" DEVELOPER=0 COMPILER=gcc-4.8 - ARCH=64 TEST_CMD="make check-source check-units installcheck" DEVELOPER=1 EXPERIMENTAL_FEATURES=1 # All of the following will just run `make pytest` - VALGRIND=0 ARCH=64 DEVELOPER=1 COMPILER=clang - VALGRIND=0 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_CHECK_DBSTMTS=1 - VALGRIND=0 ARCH=64 DEVELOPER=0 COMPILER=gcc COMPAT=0 TEST_GROUP=1 TEST_GROUP_COUNT=2 - VALGRIND=0 ARCH=64 DEVELOPER=0 COMPILER=gcc COMPAT=0 TEST_GROUP=2 TEST_GROUP_COUNT=2 ## All of these are pretty slow since they run under valgrind - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=1 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=2 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=3 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=4 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=5 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=6 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=7 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=8 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=9 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=10 TEST_GROUP_COUNT=11 - VALGRIND=1 ARCH=64 DEVELOPER=1 COMPILER=gcc TEST_GROUP=11 TEST_GROUP_COUNT=11 # Various other configurations - VALGRIND=0 ARCH=64 DEVELOPER=1 NETWORK=liquid-regtest - VALGRIND=0 ARCH=64 DEVELOPER=1 DB=postgres - VALGRIND=0 ARCH=arm32v7 DEVELOPER=1 TARGET_HOST=arm-linux-gnueabihf - VALGRIND=0 ARCH=arm64v8 DEVELOPER=1 TARGET_HOST=aarch64-linux-gnu - VALGRIND=0 ARCH=64 DEVELOPER=1 COMPILER=gcc EXPERIMENTAL_FEATURES=1 cache: directories: - external/x86_64-linux-gnu - external/aarch64-linux-gnu - external/arm-linux-gnueabihf - dependencies script: .travis/build.sh