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