Skip to content

Test: Eclair integration tests#205

Open
a-mpch wants to merge 3 commits intolndk-org:masterfrom
a-mpch:2025-04-itest-eclair
Open

Test: Eclair integration tests#205
a-mpch wants to merge 3 commits intolndk-org:masterfrom
a-mpch:2025-04-itest-eclair

Conversation

@a-mpch
Copy link
Collaborator

@a-mpch a-mpch commented Apr 9, 2025

This PR is part of #157

Bit of context

We would like to test paying offers from different implementations. We have different approaches to do here, adding submodules, building from source or use docker-compose like ldk node https://github.com/lightningdevkit/ldk-node/blob/main/docker-compose-cln.yml

What has been done

Add new simple test that spin up a network LND <-> LDK <-> Eclair. LND and LDK nodes are running in host machine while Eclair is inside docker-compose file specific for these tests.
After checking network is ready for doing payments, we generate an offer from Eclair and pay it from LNDK through the network.

These tests are behind a cfg(eclair_test) so won't be running through other itests.

Some considerations

Eclair does not have an official Image, I built images and uploaded to my own docker hub repository for ease of testing.

Added some docs to run the itest when developing and also macOS consideration because there isn't an images for arm either.

@codecov
Copy link

codecov bot commented Apr 9, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 0.00%. Comparing base (7ea3713) to head (eb19633).

Additional details and impacted files
@@          Coverage Diff           @@
##           master    #205   +/-   ##
======================================
  Coverage    0.00%   0.00%           
======================================
  Files           1       1           
  Lines         149     149           
======================================
  Misses        149     149           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@a-mpch a-mpch force-pushed the 2025-04-itest-eclair branch 7 times, most recently from 550bb11 to 8614951 Compare April 10, 2025 19:45
@a-mpch
Copy link
Collaborator Author

a-mpch commented Apr 11, 2025

Somehow running test in the GitHub action breaks the test, couldn't replicate it. I'll modify to run all inside the docker-compose so it's replicable anywhere. Drafting for now.

Running Eclair image in amd architecture panics from scpk issue. Running Eclair latests won't be stable.
Running LND with debugs inside the actions actually got a deadlock that break all tests.

@a-mpch a-mpch marked this pull request as draft April 11, 2025 16:47
@dunxen
Copy link
Collaborator

dunxen commented Apr 14, 2025

Somehow running test in the GitHub action breaks the test, couldn't replicate it. I'll modify to run all inside the docker-compose so it's replicable anywhere. Drafting for now.

Running Eclair image in amd architecture panics from scpk issue. Running Eclair latests won't be stable. Running LND with debugs inside the actions actually got a deadlock that break all tests.

Just ping us here when it's ready for a review :)

@dunxen dunxen self-requested a review April 14, 2025 09:47
@a-mpch a-mpch force-pushed the 2025-04-itest-eclair branch from b52d420 to d08fecb Compare April 24, 2025 19:35
@a-mpch a-mpch marked this pull request as ready for review April 24, 2025 19:45
@a-mpch
Copy link
Collaborator Author

a-mpch commented Apr 24, 2025

@dunxen sorry that I've been swarming you with reviews requests 😅! This one is ready

@dunxen
Copy link
Collaborator

dunxen commented Apr 27, 2025

@dunxen sorry that I've been swarming you with reviews requests 😅! This one is ready

No stress! Keep them coming and thanks for working on these!.

I'll take a look at this on Tuesday, the 29th. Out on a bush trip for the long weekend currently with choppy signal.

@dunxen
Copy link
Collaborator

dunxen commented Apr 30, 2025

Sorry for the delay. Still taking a closer look here.

@dunxen dunxen requested a review from orbitalturtle April 30, 2025 09:08
@orbitalturtle
Copy link
Collaborator

orbitalturtle commented May 1, 2025

I'll have some time to take a look this weekend. :)

EDIT: From a high level look, it's looking great, it'll be great to have these tests <3. But in the first commit it says "we generate an offer on Eclair without using blinding paths." I think it's important we have a test where Eclair does generate an offer with a blinded path.

a-mpch added 3 commits May 2, 2025 08:52
This commit adds a simple paying offer itest with eclair node.
Uses docker compose to manage bitcoind and eclair node while
continuing using lnd submodule and ldk nodes "in code".
First we open a network LND <-> LDK Node <-> Eclair,
we generate an offer on Eclair using blinding paths
and finally LNDK pays the offer through the network.
@a-mpch a-mpch force-pushed the 2025-04-itest-eclair branch from 6dfff17 to eb19633 Compare May 2, 2025 12:52
@a-mpch
Copy link
Collaborator Author

a-mpch commented May 2, 2025

@orbitalturtle thanks for taking the time to review this!

So I just force pushed and rewrote the commit message, we now are using blinded paths on the integration test 🙌🏼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants