@@ -12,42 +12,51 @@ 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, and coverage generation
15+ # 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor, and coverage generation
1616 1.45.2,
1717 # 1.47.0 will be the MSRV for no-std builds using hashbrown once core2 is updated
1818 1.47.0]
1919 include :
2020 - toolchain : stable
2121 build-net-tokio : true
2222 build-no-std : true
23+ build-futures : true
2324 - toolchain : stable
2425 platform : macos-latest
2526 build-net-tokio : true
2627 build-no-std : true
28+ build-futures : true
2729 - toolchain : beta
2830 platform : macos-latest
2931 build-net-tokio : true
3032 build-no-std : true
33+ build-futures : true
3134 - toolchain : stable
3235 platform : windows-latest
3336 build-net-tokio : true
3437 build-no-std : true
38+ build-futures : true
3539 - toolchain : beta
3640 platform : windows-latest
3741 build-net-tokio : true
3842 build-no-std : true
43+ build-futures : true
3944 - toolchain : beta
4045 build-net-tokio : true
4146 build-no-std : true
47+ build-futures : true
4248 - toolchain : 1.41.1
4349 build-no-std : false
4450 test-log-variants : true
51+ build-futures : false
4552 - toolchain : 1.45.2
4653 build-net-old-tokio : true
4754 build-net-tokio : true
4855 build-no-std : false
56+ build-futures : true
4957 coverage : true
5058 - toolchain : 1.47.0
59+ build-futures : true
5160 build-no-std : true
5261 runs-on : ${{ matrix.platform }}
5362 steps :
@@ -109,23 +118,26 @@ jobs:
109118 - name : Test on Rust ${{ matrix.toolchain }} with net-tokio and full code-linking for coverage generation
110119 if : matrix.coverage
111120 run : RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always
112- - name : Test on no-std bullds Rust ${{ matrix.toolchain }}
121+ - name : Test no-std builds on Rust ${{ matrix.toolchain }}
113122 if : " matrix.build-no-std && !matrix.coverage"
114123 shell : bash # Default on Winblows is powershell
115124 run : |
116- for DIR in lightning lightning-invoice lightning-rapid-gossip-sync; do
117- cd $DIR
118- cargo test --verbose --color always --no-default-features --features no-std
119- # check if there is a conflict between no-std and the default std feature
120- cargo test --verbose --color always --features no-std
121- # check that things still pass without grind_signatures
122- # note that outbound_commitment_test only runs in this mode, because of hardcoded signature values
123- cargo test --verbose --color always --no-default-features --features std
124- # check if there is a conflict between no-std and the c_bindings cfg
125- RUSTFLAGS="--cfg=c_bindings" cargo test --verbose --color always --no-default-features --features=no-std
126- cd ..
127- done
125+ cd lightning
126+ cargo test --verbose --color always --no-default-features --features no-std
127+ # check if there is a conflict between no-std and the default std feature
128+ cargo test --verbose --color always --features no-std
129+ # check that things still pass without grind_signatures
130+ # note that outbound_commitment_test only runs in this mode, because of hardcoded signature values
131+ cargo test --verbose --color always --no-default-features --features std
132+ # check if there is a conflict between no-std and the c_bindings cfg
133+ RUSTFLAGS="--cfg=c_bindings" cargo test --verbose --color always --no-default-features --features=no-std
134+ cd ..
135+ cd lightning-invoice
136+ cargo test --verbose --color always --no-default-features --features no-std
137+ # check if there is a conflict between no-std and the default std feature
138+ cargo test --verbose --color always --features no-std
128139 # check no-std compatibility across dependencies
140+ cd ..
129141 cd no-std-check
130142 cargo check --verbose --color always
131143 - name : Build no-std-check on Rust ${{ matrix.toolchain }} for ARM Embedded
@@ -140,15 +152,26 @@ jobs:
140152 run : |
141153 cd lightning
142154 RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --no-default-features --features no-std
143- cd ..
155+ - name : Test futures builds on Rust ${{ matrix.toolchain }}
156+ if : " matrix.build-futures && !matrix.coverage"
157+ shell : bash # Default on Winblows is powershell
158+ run : |
159+ cd lightning-background-processor
160+ cargo test --verbose --color always --no-default-features --features futures
161+ - name : Test futures builds on Rust ${{ matrix.toolchain }} and full code-linking for coverage generation
162+ if : " matrix.build-futures && matrix.coverage"
163+ shell : bash # Default on Winblows is powershell
164+ run : |
165+ cd lightning-background-processor
166+ RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --no-default-features --features futures
144167 - name : Test on Rust ${{ matrix.toolchain }}
145168 if : " ! matrix.build-net-tokio"
146169 run : |
147- cargo test --verbose --color always -p lightning
148- cargo test --verbose --color always -p lightning-invoice
149- cargo test --verbose --color always -p lightning-rapid-gossip-sync
150- cargo build --verbose --color always -p lightning-persister
151- cargo build --verbose --color always -p lightning-background-processor
170+ cargo test --verbose --color always -p lightning
171+ cargo test --verbose --color always -p lightning-invoice
172+ cargo test --verbose --color always -p lightning-rapid-gossip-sync
173+ cargo test --verbose --color always -p lightning-persister
174+ cargo test --verbose --color always -p lightning-background-processor
152175 - name : Test C Bindings Modifications on Rust ${{ matrix.toolchain }}
153176 if : " ! matrix.build-net-tokio"
154177 run : |
@@ -299,6 +322,7 @@ jobs:
299322 run : |
300323 cargo check --release
301324 cargo check --no-default-features --features=no-std --release
325+ cargo check --no-default-features --features=futures --release
302326 cargo doc --release
303327
304328 fuzz :
0 commit comments