diff --git a/tests/e2e/live_testnet.rs b/tests/e2e/live_testnet.rs index 6978235..1b8d119 100644 --- a/tests/e2e/live_testnet.rs +++ b/tests/e2e/live_testnet.rs @@ -38,6 +38,7 @@ async fn create_testnet_client() -> P2PNode { println!("Connecting to testnet via: {bootstrap_addrs:?}"); let mut config = CoreNodeConfig::builder() + .ipv6(false) .local(true) .build() .expect("Failed to create config"); diff --git a/tests/e2e/testnet.rs b/tests/e2e/testnet.rs index a452fdd..7ca5073 100644 --- a/tests/e2e/testnet.rs +++ b/tests/e2e/testnet.rs @@ -1145,8 +1145,14 @@ impl TestNetwork { // Build configuration for saorsa-core P2PNode (saorsa-core is an external crate). // .local(true) auto-enables allow_loopback for test nodes on 127.0.0.1. + // .ipv6(false) keeps the bind on 127.0.0.1 only; Windows GitHub + // Actions runners (and some macOS runners) can't bind a dual-stack + // v6 socket and the whole testnet startup fails with + // "Failed to create dual-stack network nodes: Failed to create transport". + // Loopback-only tests don't need v6. let mut core_config = CoreNodeConfig::builder() .port(node.port) + .ipv6(false) .local(true) .connection_timeout(Duration::from_secs(TEST_CORE_CONNECTION_TIMEOUT_SECS)) .max_message_size(MAX_REPLICATION_MESSAGE_SIZE.max(MAX_WIRE_MESSAGE_SIZE))