From a729400831e57d991005f5443a47400734bb4bf7 Mon Sep 17 00:00:00 2001
From: Daniel Eades <danieleades@hotmail.com>
Date: Sun, 25 Aug 2024 06:58:41 +0100
Subject: [PATCH] update MSRV checks to account for features

---
 .github/workflows/test.yml | 21 +++++++++------------
 Cargo.toml                 |  1 +
 mavlink-bindgen/Cargo.toml |  1 +
 mavlink-core/Cargo.toml    |  2 +-
 mavlink/Cargo.toml         |  2 +-
 5 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 071df1e..c4c02f4 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -48,22 +48,19 @@ jobs:
   msrv:
     runs-on: ubuntu-latest
     strategy:
-      matrix: 
-        signing: ["", "--features signing"]
+      matrix:
+        features: ["", "--features serde,tokio-1", "--features signing"]
     steps:
       - uses: actions/checkout@master
+      - name: Get MSRV from Cargo.toml
+        run: |
+          MSRV=$(grep 'rust-version' Cargo.toml | sed 's/.*= *"\(.*\)".*/\1/')
+          echo "MSRV=$MSRV" >> $GITHUB_ENV
       - uses: dtolnay/rust-toolchain@master
         with:
-          toolchain: 1.65.0
-      - uses: actions-rs/cargo@v1
-        with:
-          command: install
-          args: cross --locked
-      - uses: actions-rs/cargo@v1
-        with:
-          use-cross: true
-          command: check
-          args: --all --all-targets ${{ matrix.signing }}
+          toolchain: ${{ env.MSRV }}
+      - uses: taiki-e/install-action@cargo-no-dev-deps
+      - run: cargo no-dev-deps check --all --all-targets ${{ matrix.features }}
 
   build:
     needs: [formatting, linting, internal-tests, mavlink-dump, msrv]
diff --git a/Cargo.toml b/Cargo.toml
index 509312c..71ebeb2 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,3 +11,4 @@ byteorder = { version = "1.3.4", default-features = false }
 
 [workspace.package]
 edition = "2021"
+rust-version = "1.70.0"
diff --git a/mavlink-bindgen/Cargo.toml b/mavlink-bindgen/Cargo.toml
index d885ef9..2c23aee 100644
--- a/mavlink-bindgen/Cargo.toml
+++ b/mavlink-bindgen/Cargo.toml
@@ -6,6 +6,7 @@ license = "MIT/Apache-2.0"
 description = "Library used by rust-mavlink."
 readme = "README.md"
 repository = "https://github.com/mavlink/rust-mavlink"
+rust-version.workspace = true
 
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
diff --git a/mavlink-core/Cargo.toml b/mavlink-core/Cargo.toml
index d276b2c..64a20c9 100644
--- a/mavlink-core/Cargo.toml
+++ b/mavlink-core/Cargo.toml
@@ -14,7 +14,7 @@ readme = "../README.md"
 license = "MIT/Apache-2.0"
 repository = "https://github.com/mavlink/rust-mavlink"
 edition.workspace = true
-rust-version = "1.65.0"
+rust-version.workspace = true
 
 [dependencies]
 crc-any = { workspace = true, default-features = false }
diff --git a/mavlink/Cargo.toml b/mavlink/Cargo.toml
index 14ffd19..cafcd6d 100644
--- a/mavlink/Cargo.toml
+++ b/mavlink/Cargo.toml
@@ -16,7 +16,7 @@ readme = "../README.md"
 license = "MIT/Apache-2.0"
 repository = "https://github.com/mavlink/rust-mavlink"
 edition.workspace = true
-rust-version = "1.65.0"
+rust-version.workspace = true
 
 [build-dependencies]
 mavlink-bindgen = { path = "../mavlink-bindgen", default-features = false }
-- 
GitLab