You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add `integration_tests_eclair.rs` with a `TestEclairClient` wrapping
Eclair's HTTP REST API via `bitreq`, and a `test_eclair()` function
exercising channel open/close, bidirectional BOLT11 payments, and
soft-fail splice in/out tests.
Also add `eclair_test` to the `check-cfg` list in `Cargo.toml` and to
the cfg gate in `tests/common/mod.rs`.
Generated with the help of AI (Claude Code).
Co-Authored-By: HAL 9000
Add `docker-compose-eclair.yml` running bitcoind (with ZMQ), electrs,
and `acinq/eclair:v0.13.1`, and a GitHub Actions workflow that starts
the containers and runs the Eclair integration test suite.
Generated with the help of AI (Claude Code).
Co-Authored-By: HAL 9000
Signed-off-by: Elias Rohrer <dev@tnull.de>
Were you able to get this to work locally with docker? I'm having trouble on macOS. I threw Claude at the problem, and it gave up but did fix some issues:
⏺ We found several bugs in the cherry-picked commits:
Wrong Eclair config key names: rpc-port, rpc-user, rpc-password should be rpcport, rpcuser, rpcpassword. This caused Eclair to use default port 8332 instead of 18443.
Wrong ZMQ topic: bitcoind was configured with -zmqpubrawblock but Eclair subscribes to hashblock, not rawblock. Changed to -zmqpubhashblock.
Bitcoin Core version mismatch: Eclair latest (0.14.0-SNAPSHOT) requires Bitcoin Core 29+, but the compose file used blockstream/bitcoind:27.2. Changed to bitcoin/bitcoin:29.
corepc-types incompatibility with BC 29: Bitcoin Core 29 changed warnings from string to array in getblockchaininfo, breaking deserialization. Replaced get_blockchain_info() with get_block_count() in tests/common/mod.rs.
Missing wallet setup: BC 29 doesn't auto-create a default wallet. Added a bitcoin-init service to create the ldk_node_test wallet and mine an initial block before Eclair/electrs start. Also added -Declair.bitcoind.wallet=ldk_node_test and -Declair.allow-unsafe-startup=true.
Unresolved: Eclair's ZMQ subscription doesn't receive messages when running in Docker on macOS, despite:
libzmq (pyzmq) working between containers
Jeromq working between containers in a standalone test with the same DONTWAIT polling pattern
ZMQ working from host to container
The issue appears specific to Eclair's Akka actor system interacting with jeromq inside Docker on macOS. I don't have a root cause.
Were you able to get this to work locally with docker? I'm having trouble on macOS. I threw Claude at the problem, and it gave up but did fix some issues:
No, I never got it to work fully (not only macOS, but also not in CI) and didn't get back to look at it more closely yet. @febyeji however indicated to wanted to work on it as part of #766, so we might end up closing this PR.
@tnull@jkczyz I'm working on this as part of an integration test harness PR for CLN, LND, and Eclair. Here's what I've found regarding the Eclair issues.
Regarding macOS Docker, I also had a similar issue. Standalone ZMQ tests work fine between containers, but Eclair's internal ZMQ subscription fails on Docker bridge networking. I didn't find a root cause for this yet.
On Linux, I worked around this by using network_mode: host, which eliminates the Docker network layer entirely and makes ZMQ reliable. Our CI runs on Linux so this works for us.
This doesn't help on macOS though, Docker Desktop there runs containers inside a Linux VM, so network_mode: host refers to the VM's network, not the Mac's. I haven't found a solution for macOS yet.
This doesn't help on macOS though, Docker Desktop there runs containers inside a Linux VM, so network_mode: host refers to the VM's network, not the Mac's. I haven't found a solution for macOS yet.
I think it's not that bad as long as the tests run properly in CI. However, it would of course be preferable for macOS-based devs to also run them locally, but we shouldn't probably block on that (i.e., when in doubt open an issue for it so we don't forget and keep things moving).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.