X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=.github%2Fworkflows%2Fbuild.yml;h=ab10b36d25ae09a07d5f3f251b6991ff33f77ed0;hb=f3067b84c676efd5d9b3122c884c4c764b919430;hp=00ef76f787e188e0e23fc94b2244bb1cbca8673f;hpb=5fdc770b4641bc260f33174341f44ae148d118e3;p=rust-lightning diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 00ef76f7..ab10b36d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,19 +18,7 @@ jobs: fail-fast: false matrix: platform: [ ubuntu-latest, windows-latest, macos-latest ] - toolchain: [ stable, beta ] - include: - - toolchain: stable - platform: ubuntu-latest - # 1.48.0 is the MSRV for all crates except lightning-transaction-sync and Win/Mac - - toolchain: 1.48.0 - platform: ubuntu-latest - # Windows requires 1.49.0 because that's the MSRV for supported Tokio - - toolchain: 1.49.0 - platform: windows-latest - # MacOS-latest requires 1.54.0 because that's what's required for linking to work properly - - toolchain: 1.54.0 - platform: macos-latest + toolchain: [ stable, beta, 1.63.0 ] # 1.63.0 is the MSRV for all crates. runs-on: ${{ matrix.platform }} steps: - name: Checkout source code @@ -44,11 +32,16 @@ jobs: run: | rustup target add thumbv7m-none-eabi sudo apt-get -y install gcc-arm-none-eabi + - name: Check for unknown cfg tags + run: ci/check-cfg-flags.py - name: shellcheck the CI script if: "matrix.platform == 'ubuntu-latest'" run: | sudo apt-get -y install shellcheck shellcheck ci/ci-tests.sh + - name: Set RUSTFLAGS to deny warnings + if: "matrix.toolchain == '1.63.0'" + run: echo "RUSTFLAGS=-D warnings" >> "$GITHUB_ENV" - name: Run CI script shell: bash # Default on Winblows is powershell run: CI_MINIMIZE_DISK_USAGE=1 ./ci/ci-tests.sh @@ -117,7 +110,7 @@ jobs: run: | cd lightning RUSTFLAGS="--cfg=require_route_graph_test" cargo test - RUSTFLAGS="--cfg=require_route_graph_test" cargo test --features hashbrown + RUSTFLAGS="--cfg=require_route_graph_test" cargo test --features hashbrown,ahash cd .. - name: Run benchmarks on Rust ${{ matrix.toolchain }} run: | @@ -168,13 +161,13 @@ jobs: run: | cargo check --release cargo check --no-default-features --features=no-std --release - cargo check --no-default-features --features=futures --release + cargo check --no-default-features --features=futures,std --release cargo doc --release - name: Run cargo check for Taproot build. run: | cargo check --release cargo check --no-default-features --features=no-std --release - cargo check --no-default-features --features=futures --release + cargo check --no-default-features --features=futures,std --release cargo doc --release env: RUSTFLAGS: '--cfg=taproot' @@ -183,7 +176,7 @@ jobs: fuzz: runs-on: ubuntu-latest env: - TOOLCHAIN: 1.58 + TOOLCHAIN: 1.63 steps: - name: Checkout source code uses: actions/checkout@v3 @@ -195,6 +188,10 @@ jobs: run: | sudo apt-get update sudo apt-get -y install build-essential binutils-dev libunwind-dev + - name: Pin the regex dependency + run: | + cd fuzz && cargo update -p regex --precise "1.9.6" --verbose && cd .. + cd lightning-invoice/fuzz && cargo update -p regex --precise "1.9.6" --verbose - name: Sanity check fuzz targets on Rust ${{ env.TOOLCHAIN }} run: cd fuzz && RUSTFLAGS="--cfg=fuzzing" cargo test --verbose --color always - name: Run fuzzers