File tree Expand file tree Collapse file tree 13 files changed +72
-27
lines changed
lightning-background-processor/src
lightning-transaction-sync/src Expand file tree Collapse file tree 13 files changed +72
-27
lines changed Original file line number Diff line number Diff line change @@ -233,6 +233,24 @@ jobs:
233233 RUSTFLAGS : ' --cfg=taproot'
234234 RUSTDOCFLAGS : ' --cfg=taproot'
235235
236+ check_docs :
237+ runs-on : self-hosted
238+ env :
239+ # While docs.rs builds using a nightly compiler (and we use some nightly features),
240+ # nightly ends up randomly breaking builds occasionally, so we instead use beta
241+ # and set RUSTC_BOOTSTRAP in check-docsrs.sh
242+ TOOLCHAIN : beta
243+ steps :
244+ - name : Checkout source code
245+ uses : actions/checkout@v4
246+ with :
247+ fetch-depth : 0
248+ - name : Install Rust ${{ env.TOOLCHAIN }} toolchain
249+ run : |
250+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain ${{ env.TOOLCHAIN }}
251+ - name : Simulate docs.rs build
252+ run : ci/check-docsrs.sh
253+
236254 fuzz :
237255 runs-on : self-hosted
238256 env :
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ # shellcheck disable=SC2002,SC2086,SC2207
3+
4+ set -ex
5+
6+ # Attempt to simulate the docsrs builds. Sadly its not entirely trivial as
7+ # docs.rs reads metadata out of Cargo.toml which we don't want to have a whole
8+ # parser for.
9+
10+ WORKSPACE_MEMBERS=( $( cat Cargo.toml | tr ' \n' ' \r' | sed ' s/\r //g' | tr ' \r' ' \n' | grep ' ^members =' | sed ' s/members.*=.*\[//' | tr -d ' "' | tr ' ,' ' \n' ) )
11+ echo " ${WORKSPACE_MEMBERS[@]} "
12+ for CRATE in " ${WORKSPACE_MEMBERS[@]} " ; do
13+ pushd " $CRATE "
14+ CARGO_ARGS=" "
15+ RUSTDOC_ARGS=" "
16+ cat Cargo.toml | grep -A 100 ' \[package.metadata.docs.rs\]' | tail -n +2 > /tmp/ldk-docsrs-rustdoc-config.txt
17+ while read -r LINE; do
18+ case " $LINE " in
19+ " [" * ) break ;;
20+ " features" * )
21+ OG_IFS=" $IFS "
22+ IFS=' ,'
23+ for FEATURE in $( echo " $LINE " | sed ' s/features.*=.*\[//g' | tr -d ' "] ' ) ; do
24+ export CARGO_ARGS=" $CARGO_ARGS --features $FEATURE "
25+ done
26+ IFS=" $OG_IFS "
27+ ;;
28+ " all-features = true" )
29+ export CARGO_ARGS=" $CARGO_ARGS --all-features"
30+ ;;
31+ " rustdoc-args" * )
32+ RUSTDOC_ARGS=" $( echo " $LINE " | sed ' s/rustdoc-args.*=.*\[//g' | tr -d ' "],' ) "
33+ ;;
34+ esac
35+ done < /tmp/ldk-docsrs-rustdoc-config.txt
36+ rm /tmp/ldk-docsrs-rustdoc-config.txt
37+ echo " Building $CRATE with args $CARGO_ARGS and flags $RUSTDOC_ARGS "
38+ # We rely on nightly features but want to use a stable release in CI to avoid
39+ # spurous breakage, thus we set RUSTC_BOOTSTRAP=1 here.
40+ RUSTC_BOOTSTRAP=1 cargo rustdoc $CARGO_ARGS -- $RUSTDOC_ARGS
41+ popd
42+ done
Original file line number Diff line number Diff line change 11#! /bin/bash
2+ # shellcheck disable=SC2002,SC2207
23set -eox pipefail
34
45RUSTC_MINOR_VERSION=$( rustc --version | awk ' { split($2,a,"."); print a[2] }' )
@@ -41,23 +42,7 @@ export RUST_BACKTRACE=1
4142echo -e " \n\nChecking the workspace, except lightning-transaction-sync."
4243cargo check --verbose --color always
4344
44- # When the workspace members change, make sure to update the list here as well
45- # as in `Cargo.toml`.
46- WORKSPACE_MEMBERS=(
47- lightning
48- lightning-types
49- lightning-block-sync
50- lightning-invoice
51- lightning-net-tokio
52- lightning-persister
53- lightning-background-processor
54- lightning-rapid-gossip-sync
55- lightning-custom-message
56- lightning-macros
57- lightning-dns-resolver
58- lightning-liquidity
59- possiblyrandom
60- )
45+ WORKSPACE_MEMBERS=( $( cat Cargo.toml | tr ' \n' ' \r' | sed ' s/\r //g' | tr ' \r' ' \n' | grep ' ^members =' | sed ' s/members.*=.*\[//' | tr -d ' "' | tr ' ,' ' ' ) )
6146
6247echo -e " \n\nTesting the workspace, except lightning-transaction-sync."
6348cargo test --verbose --color always
Original file line number Diff line number Diff line change 1313#![ deny( rustdoc:: broken_intra_doc_links) ]
1414#![ deny( rustdoc:: private_intra_doc_links) ]
1515#![ deny( missing_docs) ]
16- #![ cfg_attr( docsrs, feature( doc_auto_cfg ) ) ]
16+ #![ cfg_attr( docsrs, feature( doc_cfg ) ) ]
1717#![ cfg_attr( all( not( feature = "std" ) , not( test) ) , no_std) ]
1818
1919#[ cfg( any( test, feature = "std" ) ) ]
Original file line number Diff line number Diff line change 1717#![ deny( rustdoc:: private_intra_doc_links) ]
1818#![ deny( missing_docs) ]
1919#![ deny( unsafe_code) ]
20- #![ cfg_attr( docsrs, feature( doc_auto_cfg ) ) ]
20+ #![ cfg_attr( docsrs, feature( doc_cfg ) ) ]
2121
2222#[ cfg( any( feature = "rest-client" , feature = "rpc-client" ) ) ]
2323pub mod http;
Original file line number Diff line number Diff line change 55#![ deny( non_camel_case_types) ]
66#![ deny( non_snake_case) ]
77#![ deny( unused_mut) ]
8- #![ cfg_attr( docsrs, feature( doc_auto_cfg ) ) ]
8+ #![ cfg_attr( docsrs, feature( doc_cfg ) ) ]
99#![ cfg_attr( all( not( feature = "std" ) , not( test) ) , no_std) ]
1010
1111//! This crate provides data structures to represent
Original file line number Diff line number Diff line change 4848#![ allow( bare_trait_objects) ]
4949#![ allow( ellipsis_inclusive_range_patterns) ]
5050#![ allow( clippy:: drop_non_drop) ]
51- #![ cfg_attr( docsrs, feature( doc_auto_cfg ) ) ]
51+ #![ cfg_attr( docsrs, feature( doc_cfg ) ) ]
5252#![ cfg_attr( not( any( test, feature = "std" ) ) , no_std) ]
5353
5454#[ macro_use]
Original file line number Diff line number Diff line change 1616#![ forbid( unsafe_code) ]
1717#![ deny( rustdoc:: broken_intra_doc_links) ]
1818#![ deny( rustdoc:: private_intra_doc_links) ]
19- #![ cfg_attr( docsrs, feature( doc_auto_cfg ) ) ]
19+ #![ cfg_attr( docsrs, feature( doc_cfg ) ) ]
2020
2121extern crate alloc;
2222
Original file line number Diff line number Diff line change 2525#![ deny( rustdoc:: broken_intra_doc_links) ]
2626#![ deny( rustdoc:: private_intra_doc_links) ]
2727#![ deny( missing_docs) ]
28- #![ cfg_attr( docsrs, feature( doc_auto_cfg ) ) ]
28+ #![ cfg_attr( docsrs, feature( doc_cfg ) ) ]
2929
3030use bitcoin:: secp256k1:: PublicKey ;
3131
Original file line number Diff line number Diff line change 33#![ deny( rustdoc:: broken_intra_doc_links) ]
44#![ deny( rustdoc:: private_intra_doc_links) ]
55#![ deny( missing_docs) ]
6- #![ cfg_attr( docsrs, feature( doc_auto_cfg ) ) ]
6+ #![ cfg_attr( docsrs, feature( doc_cfg ) ) ]
77
88#[ cfg( ldk_bench) ]
99extern crate criterion;
You can’t perform that action at this time.
0 commit comments