Bump codecov/codecov-action from 2 to 3
[rust-lightning] / .github / workflows / build.yml
index fef042beee6a79f7c2e5812890b698641e093834..cff1713440035a0b76d89a9e6c88904c97c0b87e 100644 (file)
@@ -10,10 +10,8 @@ jobs:
         platform: [ ubuntu-latest ]
         toolchain: [ stable,
                      beta,
-                     # 1.36.0 is MSRV for Rust-Lightning, lightning-invoice, and lightning-persister
-                     1.36.0,
-                     # 1.41.0 is Debian stable
-                     1.41.0,
+                     # 1.41.1 is MSRV for Rust-Lightning, lightning-invoice, and lightning-persister
+                     1.41.1,
                      # 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, and coverage generation
                      1.45.2,
                      # 1.47.0 will be the MSRV for no-std builds using hashbrown once core2 is updated
@@ -41,11 +39,9 @@ jobs:
           - toolchain: beta
             build-net-tokio: true
             build-no-std: true
-          - toolchain: 1.36.0
+          - toolchain: 1.41.1
             build-no-std: false
             test-log-variants: true
-          - toolchain: 1.41.0
-            build-no-std: false
           - toolchain: 1.45.2
             build-net-old-tokio: true
             build-net-tokio: true
@@ -56,7 +52,7 @@ jobs:
     runs-on: ${{ matrix.platform }}
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Install Rust ${{ matrix.toolchain }} toolchain
         uses: actions-rs/toolchain@v1
         with:
@@ -119,6 +115,9 @@ jobs:
           cargo test --verbose --color always --no-default-features --features no-std
           # check if there is a conflict between no-std and the default std feature
           cargo test --verbose --color always --features no-std
+          # check that things still pass without grind_signatures
+          # note that outbound_commitment_test only runs in this mode, because of hardcoded signature values
+          cargo test --verbose --color always --no-default-features --features std
           # check if there is a conflict between no-std and the c_bindings cfg
           RUSTFLAGS="--cfg=c_bindings" cargo test --verbose --color always --no-default-features --features=no-std
           cd ..
@@ -126,6 +125,10 @@ jobs:
           cargo test --verbose --color always --no-default-features --features no-std
           # check if there is a conflict between no-std and the default std feature
           cargo test --verbose --color always --features no-std
+          # check no-std compatibility across dependencies
+          cd ..
+          cd no-std-check
+          cargo check --verbose --color always
           cd ..
       - name: Test on no-std builds Rust ${{ matrix.toolchain }} and full code-linking for coverage generation
         if: "matrix.build-no-std && matrix.coverage"
@@ -188,7 +191,7 @@ jobs:
           done
       - name: Upload coverage
         if: matrix.coverage
-        uses: codecov/codecov-action@v2
+        uses: codecov/codecov-action@v3
         with:
           # Could you use this to fake the coverage report for your PR? Sure.
           # Will anyone be impressed by your amazing coverage? No
@@ -202,7 +205,7 @@ jobs:
       TOOLCHAIN: nightly
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Install Rust ${{ env.TOOLCHAIN }} toolchain
         uses: actions-rs/toolchain@v1
         with:
@@ -211,7 +214,7 @@ jobs:
           profile: minimal
       - name: Cache routing graph snapshot
         id: cache-graph
-        uses: actions/cache@v2
+        uses: actions/cache@v3
         with:
           path: lightning/net_graph-2021-05-31.bin
           key: ldk-net_graph-v0.0.15-2021-05-31.bin
@@ -231,17 +234,15 @@ jobs:
           cd ..
       - name: Run benchmarks on Rust ${{ matrix.toolchain }}
         run: |
-          cargo bench --features unstable
+          cargo bench --features _bench_unstable
 
   check_commits:
     runs-on: ubuntu-latest
     env:
-      # rustc 1.53 regressed and panics when building our (perfectly fine) docs.
-      # See https://github.com/rust-lang/rust/issues/84738
-      TOOLCHAIN: 1.52.1
+      TOOLCHAIN: 1.57.0
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
         with:
           fetch-depth: 0
       - name: Install Rust ${{ env.TOOLCHAIN }} toolchain
@@ -266,11 +267,11 @@ jobs:
       TOOLCHAIN: stable
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v2
-      - name: Install Rust ${{ env.TOOLCHAIN }} toolchain
+        uses: actions/checkout@v3
+      - name: Install Rust 1.58 toolchain
         uses: actions-rs/toolchain@v1
         with:
-          toolchain: ${{ env.TOOLCHAIN }}
+          toolchain: 1.58
           override: true
           profile: minimal
       - name: Install dependencies for honggfuzz
@@ -290,7 +291,7 @@ jobs:
       TOOLCHAIN: 1.47.0
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
       - name: Install Rust ${{ env.TOOLCHAIN }} toolchain
         uses: actions-rs/toolchain@v1
         with: