Skip to content

Commit d79d2e2

Browse files
committed
Build and test transaction sync crate in CI
1 parent eb88b36 commit d79d2e2

File tree

1 file changed

+43
-9
lines changed

1 file changed

+43
-9
lines changed

.github/workflows/build.yml

+43-9
Original file line numberDiff line numberDiff line change
@@ -12,52 +12,68 @@ jobs:
1212
beta,
1313
# 1.41.1 is MSRV for Rust-Lightning, lightning-invoice, and lightning-persister
1414
1.41.1,
15-
# 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor, and coverage generation
15+
# 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor
1616
1.45.2,
1717
# 1.47.0 will be the MSRV for no-std builds using hashbrown once core2 is updated
18-
1.47.0]
18+
1.47.0,
19+
# 1.59.0 is the MSRV for lightning-transaction-sync
20+
1.59.0]
1921
include:
2022
- toolchain: stable
2123
build-net-tokio: true
2224
build-no-std: true
2325
build-futures: true
26+
build-tx-sync: true
27+
coverage: true
2428
- toolchain: stable
2529
platform: macos-latest
2630
build-net-tokio: true
2731
build-no-std: true
2832
build-futures: true
33+
build-tx-sync: true
2934
- toolchain: beta
3035
platform: macos-latest
3136
build-net-tokio: true
3237
build-no-std: true
3338
build-futures: true
39+
build-tx-sync: true
3440
- toolchain: stable
3541
platform: windows-latest
3642
build-net-tokio: true
3743
build-no-std: true
3844
build-futures: true
45+
build-tx-sync: false
3946
- toolchain: beta
4047
platform: windows-latest
4148
build-net-tokio: true
4249
build-no-std: true
4350
build-futures: true
51+
build-tx-sync: false
4452
- toolchain: beta
4553
build-net-tokio: true
4654
build-no-std: true
4755
build-futures: true
56+
build-tx-sync: true
4857
- toolchain: 1.41.1
4958
build-no-std: false
5059
test-log-variants: true
5160
build-futures: false
61+
build-tx-sync: false
5262
- toolchain: 1.45.2
5363
build-net-old-tokio: true
5464
build-net-tokio: true
5565
build-no-std: false
5666
build-futures: true
57-
coverage: true
67+
build-tx-sync: false
5868
- toolchain: 1.47.0
5969
build-futures: true
6070
build-no-std: true
71+
build-tx-sync: false
72+
- toolchain: 1.59.0
73+
build-net-tokio: false
74+
build-no-std: false
75+
build-futures: false
76+
build-tx-sync: true
6177
runs-on: ${{ matrix.platform }}
6278
steps:
6379
- name: Checkout source code
@@ -73,10 +89,10 @@ jobs:
7389
run: cargo update -p tokio --precise "1.14.0" --verbose
7490
env:
7591
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
76-
- name: Build on Rust ${{ matrix.toolchain }} with net-tokio
77-
if: "matrix.build-net-tokio && !matrix.coverage"
92+
- name: Build on Rust ${{ matrix.toolchain }} with net-tokio and tx-sync
93+
if: "matrix.build-net-tokio && !matrix.coverage && matrix.build-tx-sync"
7894
run: cargo build --verbose --color always
79-
- name: Build on Rust ${{ matrix.toolchain }} with net-tokio and full code-linking for coverage generation
95+
- name: Build on Rust ${{ matrix.toolchain }} with net-tokio, tx-sync, and full code-linking for coverage generation
8096
if: matrix.coverage
8197
run: RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always
8298
- name: Build on Rust ${{ matrix.toolchain }}
@@ -108,14 +124,32 @@ jobs:
108124
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client
109125
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client
110126
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features rpc-client,rest-client,tokio
127+
- name: Build Transaction Sync Clients on Rust ${{ matrix.toolchain }} with features
128+
if: "matrix.build-tx-sync && !matrix.coverage"
129+
run: |
130+
cd lightning-transaction-sync
131+
cargo build --verbose --color always --features esplora-blocking
132+
cargo build --verbose --color always --features esplora-async
133+
- name: Build transaction sync clients on Rust ${{ matrix.toolchain }} with features and full code-linking for coverage generation
134+
if: "matrix.build-tx-sync && matrix.coverage"
135+
run: |
136+
cd lightning-transaction-sync
137+
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features esplora-blocking
138+
RUSTFLAGS="-C link-dead-code" cargo build --verbose --color always --features esplora-async
139+
- name: Test transaction sync clients on Rust ${{ matrix.toolchain }} with features
140+
if: "matrix.build-tx-sync"
141+
run: |
142+
cd lightning-transaction-sync
143+
cargo test --verbose --color always --features esplora-blocking
144+
cargo test --verbose --color always --features esplora-async
111145
- name: Test backtrace-debug builds on Rust ${{ matrix.toolchain }}
112146
if: "matrix.toolchain == 'stable'"
113147
run: |
114148
cd lightning && cargo test --verbose --color always --features backtrace
115149
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio
116-
if: "matrix.build-net-tokio && !matrix.coverage"
150+
if: "matrix.build-net-tokio && !matrix.coverage && matrix.build-tx-sync"
117151
run: cargo test --verbose --color always
118-
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio and full code-linking for coverage generation
152+
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio, tx-sync, and full code-linking for coverage generation
119153
if: matrix.coverage
120154
run: RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always
121155
- name: Test no-std builds on Rust ${{ matrix.toolchain }}
@@ -349,7 +383,7 @@ jobs:
349383
linting:
350384
runs-on: ubuntu-latest
351385
env:
352-
TOOLCHAIN: 1.47.0
386+
TOOLCHAIN: stable
353387
steps:
354388
- name: Checkout source code
355389
uses: actions/checkout@v3

0 commit comments

Comments
 (0)