language: rust rust: - stable env: global: - MAGICAL_RPC_COOKIEFILE=/home/travis/.bitcoin/regtest/.cookie - MAGICAL_ELECTRUM_URL=tcp://127.0.0.1:60401 jobs: - TARGET=x86_64-unknown-linux-gnu CHECK_FMT=1 - TARGET=x86_64-unknown-linux-gnu RUN_TESTS=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=minimal NO_DEFAULT_FEATURES=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=all-keys NO_DEFAULT_FEATURES=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=minimal,esplora NO_DEFAULT_FEATURES=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=key-value-db NO_DEFAULT_FEATURES=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=electrum NO_DEFAULT_FEATURES=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=compact_filters NO_DEFAULT_FEATURES=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=cli-utils,esplora NO_DEFAULT_FEATURES=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=compiler NO_DEFAULT_FEATURES=1 RUN_TESTS=1 # Test the `miniscriptc` example - TARGET=x86_64-unknown-linux-gnu FEATURES=test-electrum NO_DEFAULT_FEATURES=1 RUN_TESTS=1 RUN_CORE=1 - TARGET=x86_64-unknown-linux-gnu FEATURES=test-md-docs NO_DEFAULT_FEATURES=1 RUN_TESTS=1 NIGHTLY=1 - TARGET=wasm32-unknown-unknown FEATURES=cli-utils,esplora NO_DEFAULT_FEATURES=1 before_script: - | if [[ "$TARGET" = "wasm32-unknown-unknown" ]]; then # Install a recent version of clang that supports wasm32 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - || exit 1 sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" || exit 1 sudo apt-get update || exit 1 sudo apt-get install -y clang-10 libc6-dev-i386 || exit 1 export CC="clang-10" export CFLAGS="-I/usr/include" fi - | if [[ $CHECK_FMT -eq 1 ]]; then rustup component add rustfmt fi - | if [[ $NIGHTLY -eq 1 ]]; then rustup toolchain install nightly rustup default nightly fi - rustup target add "$TARGET" script: - | if [[ $CHECK_FMT -eq 1 ]]; then cargo fmt -- --check || exit 1 fi - | if [[ $RUN_TESTS -eq 1 ]]; then CMD=test else CMD=build fi - | if [[ $RUN_CORE -eq 1 ]]; then ./ci/start-core.sh || exit 1 fi - cargo $CMD --verbose --target=$TARGET --features=$FEATURES $( (( NO_DEFAULT_FEATURES == 1 )) && printf %s '--no-default-features' ) notifications: email: false before_cache: - rm -rf "$TRAVIS_HOME/.cargo/registry/src" cache: cargo