Remove container and test blockchains downloading backends executables
This commit is contained in:
parent
696647b893
commit
f4ecfa0d49
41
.github/workflows/cont_integration.yml
vendored
41
.github/workflows/cont_integration.yml
vendored
@ -76,19 +76,19 @@ jobs:
|
|||||||
|
|
||||||
test-blockchains:
|
test-blockchains:
|
||||||
name: Test ${{ matrix.blockchain.name }}
|
name: Test ${{ matrix.blockchain.name }}
|
||||||
runs-on: ubuntu-16.04
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
blockchain:
|
blockchain:
|
||||||
- name: electrum
|
- name: electrum
|
||||||
container: bitcoindevkit/electrs
|
|
||||||
- name: rpc
|
- name: rpc
|
||||||
container: bitcoindevkit/electrs
|
- name: esplora
|
||||||
container: ${{ matrix.blockchain.container }}
|
|
||||||
env:
|
env:
|
||||||
ELECTRS_EXE: /root/electrs
|
BITCOIN_VER: 0.21.0
|
||||||
BITCOIND_EXE: /root/bitcoind
|
ELECTRS_RELEASE_URL: https://github.com/RCasatta/electrsd/releases/download/release_0.3.0
|
||||||
|
ELECTRS_VER: electrs_ubuntu-20.04_v0.8.10.zip
|
||||||
|
ELECTRS_ESPLORA_VER: electrs_esplora_ubuntu-20.04_a33e97e1a1fc63fa9c20a116bb92579bbf43b254.zip
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@ -100,16 +100,25 @@ jobs:
|
|||||||
~/.cargo/git
|
~/.cargo/git
|
||||||
target
|
target
|
||||||
key: ${{ runner.os }}-cargo-${{ github.job }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
|
key: ${{ runner.os }}-cargo-${{ github.job }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
|
||||||
- name: get pkg-config # running esplora tests seems to need this
|
- name: Setup rust toolchain
|
||||||
run: apt update && apt install -y --fix-missing pkg-config libssl-dev
|
uses: actions-rs/toolchain@v1
|
||||||
- name: Install rustup
|
with:
|
||||||
run: curl https://sh.rustup.rs -sSf | sh -s -- -y
|
toolchain: stable
|
||||||
- name: Set default toolchain
|
override: true
|
||||||
run: $HOME/.cargo/bin/rustup default 1.53.0 # STABLE
|
- name: Download electrs
|
||||||
- name: Set profile
|
run: wget ${{ env.ELECTRS_RELEASE_URL }}/${{ env.ELECTRS_VER }} && unzip ${{ env.ELECTRS_VER }} && chmod +x ./electrs
|
||||||
run: $HOME/.cargo/bin/rustup set profile minimal
|
if: ${{ matrix.blockchain.name != 'esplora' }}
|
||||||
- name: Update toolchain
|
- name: Download electrs esplora
|
||||||
run: $HOME/.cargo/bin/rustup update
|
run: wget ${{ env.ELECTRS_RELEASE_URL }}/${{ env.ELECTRS_ESPLORA_VER }} && unzip ${{ env.ELECTRS_ESPLORA_VER }} && chmod +x ./electrs
|
||||||
|
if: ${{ matrix.blockchain.name == 'esplora' }}
|
||||||
|
- name: Set ELECTRS_EXE env
|
||||||
|
run: echo "ELECTRS_EXE=${{ github.workspace }}/electrs" >> $GITHUB_ENV
|
||||||
|
- name: Show electrs options
|
||||||
|
run: ${{ env.ELECTRS_EXE }} --help
|
||||||
|
- name: Set BITCOIND_EXE env
|
||||||
|
run: echo "BITCOIND_EXE=${{ github.workspace }}/bitcoin-${{ env.BITCOIN_VER }}/bin/bitcoind" >> $GITHUB_ENV
|
||||||
|
- name: Install bitcoind
|
||||||
|
run: curl https://bitcoincore.org/bin/bitcoin-core-$BITCOIN_VER/bitcoin-$BITCOIN_VER-x86_64-linux-gnu.tar.gz | tar -xvz bitcoin-$BITCOIN_VER/bin/bitcoind
|
||||||
- name: Test
|
- name: Test
|
||||||
run: $HOME/.cargo/bin/cargo test --features test-${{ matrix.blockchain.name }},test-blockchains --no-default-features ${{ matrix.blockchain.name }}::bdk_blockchain_tests
|
run: $HOME/.cargo/bin/cargo test --features test-${{ matrix.blockchain.name }},test-blockchains --no-default-features ${{ matrix.blockchain.name }}::bdk_blockchain_tests
|
||||||
|
|
||||||
|
@ -62,15 +62,14 @@ rpc = ["bitcoincore-rpc"]
|
|||||||
test-blockchains = ["bitcoincore-rpc", "electrum-client"]
|
test-blockchains = ["bitcoincore-rpc", "electrum-client"]
|
||||||
test-electrum = ["electrum"]
|
test-electrum = ["electrum"]
|
||||||
test-rpc = ["rpc"]
|
test-rpc = ["rpc"]
|
||||||
test-esplora = ["esplora"]
|
test-esplora = ["esplora", "electrsd/legacy"]
|
||||||
test-md-docs = ["electrum"]
|
test-md-docs = ["electrum"]
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
lazy_static = "1.4"
|
lazy_static = "1.4"
|
||||||
env_logger = "0.7"
|
env_logger = "0.7"
|
||||||
clap = "2.33"
|
clap = "2.33"
|
||||||
bitcoind = "0.11.0"
|
electrsd = { version="0.4.0", features = ["trigger"] }
|
||||||
electrsd = { version="0.3.0", features = ["trigger"] }
|
|
||||||
|
|
||||||
[[example]]
|
[[example]]
|
||||||
name = "address_validator"
|
name = "address_validator"
|
||||||
|
@ -419,6 +419,6 @@ impl_error!(bitcoin::hashes::hex::Error, Hex, EsploraError);
|
|||||||
#[cfg(feature = "test-blockchains")]
|
#[cfg(feature = "test-blockchains")]
|
||||||
crate::bdk_blockchain_tests! {
|
crate::bdk_blockchain_tests! {
|
||||||
fn test_instance(test_client: &TestClient) -> EsploraBlockchain {
|
fn test_instance(test_client: &TestClient) -> EsploraBlockchain {
|
||||||
EsploraBlockchain::new(test_client.electrsd.esplora_url.as_ref().unwrap(), None)
|
EsploraBlockchain::new(&format!("http://{}",test_client.electrsd.esplora_url.as_ref().unwrap()), None)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ use bitcoin::hashes::sha256d;
|
|||||||
use bitcoin::{Address, Amount, Script, Transaction, Txid};
|
use bitcoin::{Address, Amount, Script, Transaction, Txid};
|
||||||
pub use bitcoincore_rpc::bitcoincore_rpc_json::AddressType;
|
pub use bitcoincore_rpc::bitcoincore_rpc_json::AddressType;
|
||||||
pub use bitcoincore_rpc::{Auth, Client as RpcClient, RpcApi};
|
pub use bitcoincore_rpc::{Auth, Client as RpcClient, RpcApi};
|
||||||
use bitcoind::BitcoinD;
|
|
||||||
use core::str::FromStr;
|
use core::str::FromStr;
|
||||||
|
use electrsd::bitcoind::BitcoinD;
|
||||||
use electrsd::ElectrsD;
|
use electrsd::ElectrsD;
|
||||||
pub use electrum_client::{Client as ElectrumClient, ElectrumApi};
|
pub use electrum_client::{Client as ElectrumClient, ElectrumApi};
|
||||||
#[allow(unused_imports)]
|
#[allow(unused_imports)]
|
||||||
@ -25,7 +25,13 @@ impl TestClient {
|
|||||||
pub fn new(bitcoind_exe: String, electrs_exe: String) -> Self {
|
pub fn new(bitcoind_exe: String, electrs_exe: String) -> Self {
|
||||||
debug!("launching {} and {}", &bitcoind_exe, &electrs_exe);
|
debug!("launching {} and {}", &bitcoind_exe, &electrs_exe);
|
||||||
let bitcoind = BitcoinD::new(bitcoind_exe).unwrap();
|
let bitcoind = BitcoinD::new(bitcoind_exe).unwrap();
|
||||||
let electrsd = ElectrsD::new(electrs_exe, &bitcoind, false, false).unwrap(); // TODO http_enabled should be true only for esplora
|
|
||||||
|
#[cfg(feature = "test-esplora")]
|
||||||
|
let http_enabled = true;
|
||||||
|
#[cfg(not(feature = "test-esplora"))]
|
||||||
|
let http_enabled = false;
|
||||||
|
|
||||||
|
let electrsd = ElectrsD::new(electrs_exe, &bitcoind, false, http_enabled).unwrap();
|
||||||
|
|
||||||
let node_address = bitcoind.client.get_new_address(None, None).unwrap();
|
let node_address = bitcoind.client.get_new_address(None, None).unwrap();
|
||||||
bitcoind
|
bitcoind
|
||||||
|
Loading…
x
Reference in New Issue
Block a user