Skip to content

Commit 2161dfb

Browse files
authored
Merge branch 'main' into add-probing-service
2 parents 9d6d6de + 7d931bf commit 2161dfb

65 files changed

Lines changed: 2639 additions & 803 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/audit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ jobs:
1919
runs-on: ${{ matrix.platform }}
2020
steps:
2121
- name: Checkout source code
22-
uses: actions/checkout@v3
22+
uses: actions/checkout@v6
2323
- name: Run security audit
24-
uses: rustsec/audit-check@v1.4.1
24+
uses: rustsec/audit-check@v2
2525
with:
2626
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/benchmarks.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,28 @@ jobs:
1313
TOOLCHAIN: stable
1414
steps:
1515
- name: Checkout source code
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v6
1717
- name: Install Rust toolchain
1818
run: |
1919
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable
2020
rustup override set stable
2121
- name: Enable caching for bitcoind
2222
id: cache-bitcoind
23-
uses: actions/cache@v4
23+
uses: actions/cache@v5
2424
with:
2525
path: bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
26-
key: bitcoind-${{ runner.os }}-${{ runner.arch }}
26+
key: bitcoind-29.0-${{ runner.os }}-${{ runner.arch }}
2727
- name: Enable caching for electrs
2828
id: cache-electrs
29-
uses: actions/cache@v4
29+
uses: actions/cache@v5
3030
with:
3131
path: bin/electrs-${{ runner.os }}-${{ runner.arch }}
3232
key: electrs-${{ runner.os }}-${{ runner.arch }}
3333
- name: Download bitcoind/electrs
3434
if: "(steps.cache-bitcoind.outputs.cache-hit != 'true' || steps.cache-electrs.outputs.cache-hit != 'true')"
3535
run: |
3636
source ./scripts/download_bitcoind_electrs.sh
37-
mkdir bin
37+
mkdir -p bin
3838
mv "$BITCOIND_EXE" bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
3939
mv "$ELECTRS_EXE" bin/electrs-${{ runner.os }}-${{ runner.arch }}
4040
- name: Set bitcoind/electrs environment variables

.github/workflows/cln-integration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Checkout repository
14-
uses: actions/checkout@v4
14+
uses: actions/checkout@v6
1515

1616
- name: Install dependencies
1717
run: |
1818
sudo apt-get update -y
1919
sudo apt-get install -y socat
2020
2121
- name: Start bitcoind, electrs, and lightningd
22-
run: docker compose -f docker-compose-cln.yml up -d
22+
run: docker compose -p ldk-node -f tests/docker/docker-compose-cln.yml up -d
2323

2424
- name: Forward lightningd RPC socket
2525
run: |

.github/workflows/cron-weekly-rustfmt.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
name: Nightly rustfmt
1414
runs-on: ubuntu-24.04
1515
steps:
16-
- uses: actions/checkout@v5
16+
- uses: actions/checkout@v6
1717
- uses: dtolnay/rust-toolchain@nightly
1818
with:
1919
components: rustfmt
@@ -23,7 +23,7 @@ jobs:
2323
- name: Get the current date
2424
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
2525
- name: Create Pull Request
26-
uses: peter-evans/create-pull-request@v7
26+
uses: peter-evans/create-pull-request@v8
2727
with:
2828
author: Fmt Bot <bot@example.com>
2929
title: Automated nightly rustfmt (${{ env.date }})
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: CI Checks - HRN 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+
build-and-test:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout source code
15+
uses: actions/checkout@v3
16+
- name: Install Rust stable toolchain
17+
run: |
18+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable
19+
- name: Enable caching for bitcoind
20+
id: cache-bitcoind
21+
uses: actions/cache@v4
22+
with:
23+
path: bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
24+
key: bitcoind-29.0-${{ runner.os }}-${{ runner.arch }}
25+
- name: Enable caching for electrs
26+
id: cache-electrs
27+
uses: actions/cache@v4
28+
with:
29+
path: bin/electrs-${{ runner.os }}-${{ runner.arch }}
30+
key: electrs-${{ runner.os }}-${{ runner.arch }}
31+
- name: Download bitcoind/electrs
32+
if: "steps.cache-bitcoind.outputs.cache-hit != 'true' || steps.cache-electrs.outputs.cache-hit != 'true'"
33+
run: |
34+
source ./scripts/download_bitcoind_electrs.sh
35+
mkdir -p bin
36+
mv "$BITCOIND_EXE" bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
37+
mv "$ELECTRS_EXE" bin/electrs-${{ runner.os }}-${{ runner.arch }}
38+
- name: Set bitcoind/electrs environment variables
39+
run: |
40+
echo "BITCOIND_EXE=$( pwd )/bin/bitcoind-${{ runner.os }}-${{ runner.arch }}" >> "$GITHUB_ENV"
41+
echo "ELECTRS_EXE=$( pwd )/bin/electrs-${{ runner.os }}-${{ runner.arch }}" >> "$GITHUB_ENV"
42+
- name: Run HRN Integration Tests
43+
run: |
44+
RUSTFLAGS="--cfg no_download --cfg hrn_tests $RUSTFLAGS" cargo test --test integration_tests_hrn
45+
RUSTFLAGS="--cfg no_download --cfg hrn_tests $RUSTFLAGS" cargo test --test integration_tests_hrn --features uniffi

.github/workflows/kotlin.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616

1717
steps:
1818
- name: Checkout repository
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v6
2020

2121
- name: Set up JDK
22-
uses: actions/setup-java@v3
22+
uses: actions/setup-java@v5
2323
with:
2424
distribution: temurin
2525
java-version: 11

.github/workflows/lnd-integration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Checkout repository
14-
uses: actions/checkout@v4
14+
uses: actions/checkout@v6
1515

1616
- name: Check and install CMake if needed
1717
# lnd_grpc_rust (via prost-build v0.10.4) requires CMake >= 3.5 but is incompatible with CMake >= 4.0.
@@ -37,7 +37,7 @@ jobs:
3737
run: echo "LND_DATA_DIR=$(mktemp -d)" >> $GITHUB_ENV
3838

3939
- name: Start bitcoind, electrs, and LND
40-
run: docker compose -f docker-compose-lnd.yml up -d
40+
run: docker compose -p ldk-node -f tests/docker/docker-compose-lnd.yml up -d
4141
env:
4242
LND_DATA_DIR: ${{ env.LND_DATA_DIR }}
4343

.github/workflows/python.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,17 @@ jobs:
1515

1616
steps:
1717
- name: Checkout repository
18-
uses: actions/checkout@v4
18+
uses: actions/checkout@v6
1919

20-
- name: Setup Python
21-
uses: actions/setup-python@v4
22-
with:
23-
python-version: '3.10'
20+
- name: Install uv
21+
uses: astral-sh/setup-uv@v7
2422

2523
- name: Generate Python bindings
2624
run: ./scripts/uniffi_bindgen_generate_python.sh
2725

2826
- name: Start bitcoind and electrs
2927
run: docker compose up -d
3028

31-
- name: Install testing prerequisites
32-
run: |
33-
pip3 install requests
34-
3529
- name: Run Python unit tests
3630
env:
3731
BITCOIN_CLI_BIN: "docker exec ldk-node-bitcoin-1 bitcoin-cli"
@@ -40,4 +34,4 @@ jobs:
4034
ESPLORA_ENDPOINT: "http://127.0.0.1:3002"
4135
run: |
4236
cd $LDK_NODE_PYTHON_DIR
43-
python3 -m unittest discover -s src/ldk_node
37+
uv run --group dev python -m unittest discover -s src/ldk_node

.github/workflows/rust.yml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,33 +34,37 @@ jobs:
3434
runs-on: ${{ matrix.platform }}
3535
steps:
3636
- name: Checkout source code
37-
uses: actions/checkout@v3
37+
uses: actions/checkout@v6
3838
- name: Install Rust ${{ matrix.toolchain }} toolchain
3939
run: |
4040
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain ${{ matrix.toolchain }}
4141
- name: Check formatting on Rust ${{ matrix.toolchain }}
4242
if: matrix.check-fmt
4343
run: rustup component add rustfmt && cargo fmt --all -- --check
44+
- name: Pin packages to allow for MSRV
45+
if: matrix.msrv
46+
run: |
47+
cargo update -p idna_adapter --precise "1.2.0" --verbose # idna_adapter 1.2.1 uses ICU4X 2.2.0, requiring 1.86 and newer
4448
- name: Set RUSTFLAGS to deny warnings
4549
if: "matrix.toolchain == 'stable'"
4650
run: echo "RUSTFLAGS=-D warnings" >> "$GITHUB_ENV"
4751
- name: Enable caching for bitcoind
4852
id: cache-bitcoind
49-
uses: actions/cache@v4
53+
uses: actions/cache@v5
5054
with:
5155
path: bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
52-
key: bitcoind-${{ runner.os }}-${{ runner.arch }}
56+
key: bitcoind-29.0-${{ runner.os }}-${{ runner.arch }}
5357
- name: Enable caching for electrs
5458
id: cache-electrs
55-
uses: actions/cache@v4
59+
uses: actions/cache@v5
5660
with:
5761
path: bin/electrs-${{ runner.os }}-${{ runner.arch }}
5862
key: electrs-${{ runner.os }}-${{ runner.arch }}
5963
- name: Download bitcoind/electrs
6064
if: "matrix.platform != 'windows-latest' && (steps.cache-bitcoind.outputs.cache-hit != 'true' || steps.cache-electrs.outputs.cache-hit != 'true')"
6165
run: |
6266
source ./scripts/download_bitcoind_electrs.sh
63-
mkdir bin
67+
mkdir -p bin
6468
mv "$BITCOIND_EXE" bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
6569
mv "$ELECTRS_EXE" bin/electrs-${{ runner.os }}-${{ runner.arch }}
6670
- name: Set bitcoind/electrs environment variables
@@ -86,6 +90,21 @@ jobs:
8690
run: |
8791
RUSTFLAGS="--cfg no_download --cfg cycle_tests" cargo test --features uniffi
8892
93+
linting:
94+
name: Linting
95+
runs-on: ubuntu-latest
96+
steps:
97+
- name: Checkout source code
98+
uses: actions/checkout@v6
99+
- name: Install Rust and clippy
100+
run: |
101+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable
102+
rustup component add clippy
103+
- name: Ban `unwrap` in library code
104+
run: |
105+
cargo clippy --lib --verbose --color always -- -A warnings -D clippy::unwrap_used -A clippy::tabs_in_doc_comments
106+
cargo clippy --lib --features uniffi --verbose --color always -- -A warnings -D clippy::unwrap_used -A clippy::tabs_in_doc_comments
107+
89108
doc:
90109
name: Documentation
91110
runs-on: ubuntu-latest
@@ -95,4 +114,4 @@ jobs:
95114
- uses: actions/checkout@v6
96115
- uses: dtolnay/rust-toolchain@nightly
97116
- uses: dtolnay/install@cargo-docs-rs
98-
- run: cargo docs-rs
117+
- run: cargo docs-rs

.github/workflows/semver.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ jobs:
66
runs-on: ubuntu-latest
77
steps:
88
- name: Checkout source code
9-
uses: actions/checkout@v4
9+
uses: actions/checkout@v6
1010
- name: Check SemVer
1111
uses: obi1kenobi/cargo-semver-checks-action@v2

0 commit comments

Comments
 (0)