diff --git a/.travis.yml b/.travis.yml index a9ea41a0..d3718fd2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,8 @@ rust: 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 @@ -13,8 +15,8 @@ env: - 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=x86_64-unknown-linux-gnu FEATURES=test-electrum NO_DEFAULT_FEATURES=1 RUN_TESTS=1 RUN_CORE=1 - TARGET=wasm32-unknown-unknown FEATURES=cli-utils,esplora NO_DEFAULT_FEATURES=1 - before_script: - | if [[ "$TARGET" = "wasm32-unknown-unknown" ]]; then @@ -42,15 +44,11 @@ script: 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' ) - # - 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 diff --git a/ci/start-core.sh b/ci/start-core.sh new file mode 100755 index 00000000..16cbc0d0 --- /dev/null +++ b/ci/start-core.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env sh + +set -e + +BITCOIN_VERSION=0.20.1 + +# This should be cached by Travis +cargo install --git https://github.com/romanz/electrs --bin electrs + +curl -O -L https://bitcoincore.org/bin/bitcoin-core-$BITCOIN_VERSION/bitcoin-$BITCOIN_VERSION-x86_64-linux-gnu.tar.gz +tar xf bitcoin-$BITCOIN_VERSION-x86_64-linux-gnu.tar.gz + +export PATH=$PATH:./bitcoin-$BITCOIN_VERSION/bin + +bitcoind -regtest=1 -daemon=1 -fallbackfee=0.0002 +until bitcoin-cli -regtest getblockchaininfo; do + sleep 1 +done + +ADDR=$(bitcoin-cli -regtest getnewaddress) +bitcoin-cli -regtest generatetoaddress 150 $ADDR + +nohup electrs --network regtest --jsonrpc-import --cookie-file /home/travis/.bitcoin/regtest/.cookie & +sleep 5