language: rust rust: - stable env: global: 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=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=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=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 - 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 - cargo $CMD --verbose --target=$TARGET --features=$FEATURES $( (( NO_DEFAULT_FEATURES == 1 )) && printf %s '--no-default-features' ) # - cargo fmt -- --check --verbose # - cargo test --verbose --all # - cargo build --verbose --all # - cargo build --verbose --no-default-features --features=minimal # - cargo build --verbose --no-default-features --features=minimal,esplora # - cargo build --verbose --no-default-features --features=key-value-db # - cargo build --verbose --no-default-features --features=electrum # - CC="clang-10" CFLAGS="-I/usr/include" cargo build --verbose --no-default-features --features=cli-utils,esplora --target=wasm32-unknown-unknown notifications: email: false before_cache: - rm -rf "$TRAVIS_HOME/.cargo/registry/src" cache: cargo