61 lines
2.4 KiB
YAML
61 lines
2.4 KiB
YAML
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
|