Skip to content

Commit 816b70e

Browse files
committed
Add LDK Node integration test
We add a simple workflow to our CI that runs `cargo check` on LDK Node to ensure LDK didn't introduce breaking API changes. The idea here is to catch breaking changes early, and encourage to fix them in LDK or LDK Node `main` ASAP. In the future we might want to extend this to run the full test suite, once we whack-a-moled a few more of LDK Node's flaky tests.
1 parent 2d6e017 commit 816b70e

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: LDK Node Integration Tests
2+
3+
on: [push, pull_request]
4+
5+
concurrency:
6+
group: ${{ github.workflow }}-${{ github.ref }}
7+
cancel-in-progress: true
8+
9+
jobs:
10+
ldk-node-integration:
11+
runs-on: self-hosted
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v3
16+
with:
17+
path: rust-lightning
18+
- name: Checkout LDK Node
19+
uses: actions/checkout@v3
20+
with:
21+
repository: lightningdevkit/ldk-node
22+
path: ldk-node
23+
- name: Install Rust stable toolchain
24+
run: |
25+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable
26+
- name: Run LDK Node Integration Tests
27+
run: |
28+
cd ldk-node
29+
cat <<EOF >> Cargo.toml
30+
[patch.crates-io]
31+
lightning = { path = "../rust-lightning/lightning" }
32+
lightning-types = { path = "../rust-lightning/lightning-types" }
33+
lightning-invoice = { path = "../rust-lightning/lightning-invoice" }
34+
lightning-net-tokio = { path = "../rust-lightning/lightning-net-tokio" }
35+
lightning-persister = { path = "../rust-lightning/lightning-persister" }
36+
lightning-background-processor = { path = "../rust-lightning/lightning-background-processor" }
37+
lightning-rapid-gossip-sync = { path = "../rust-lightning/lightning-rapid-gossip-sync" }
38+
lightning-block-sync = { path = "../rust-lightning/lightning-block-sync" }
39+
lightning-transaction-sync = { path = "../rust-lightning/lightning-transaction-sync" }
40+
lightning-liquidity = { path = "../rust-lightning/lightning-liquidity" }
41+
lightning-macros = { path = "../rust-lightning/lightning-macros" }
42+
EOF
43+
cargo check
44+
cargo check --features uniffi

0 commit comments

Comments
 (0)