From 6e7efa20addd7ed64610813244d97a1cf8735f43 Mon Sep 17 00:00:00 2001 From: tison Date: Mon, 15 Dec 2025 18:06:18 +0800 Subject: [PATCH 1/2] ci: find MSRV from cargo metadata Signed-off-by: tison --- .github/workflows/ci.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73b8099..58d09a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,12 +55,30 @@ jobs: cargo +nightly fmt --all -- --check cargo +nightly clippy --all-targets --all-features -- -D warnings + msrv: + name: Resolve MSRV + runs-on: ubuntu-24.04 + outputs: + rust-versions: ${{ steps.metadata.outputs.rust-versions }} + steps: + - uses: actions/checkout@v6 + - name: Delete rust-toolchain.toml + run: rm rust-toolchain.toml + - name: Install toolchain + uses: dtolnay/rust-toolchain@nightly + - id: metadata + run: | + msrv=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[] | select(.name == "datasketches") | .rust_version') + echo "MSRV: $msrv" + echo "rust-versions=[\"${msrv}\", \"stable\"]" >> "$GITHUB_OUTPUT" + test: name: Run tests + needs: msrv strategy: matrix: os: [ ubuntu-24.04, macos-14, windows-2022 ] - rust-version: [ "1.85.0", "stable" ] + rust-version: ${{ fromJson(needs.msrv.outputs.rust-versions) }} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v6 From b0785f985d8b38e9d0998c79d58ac4a87b4b3d18 Mon Sep 17 00:00:00 2001 From: tison Date: Mon, 15 Dec 2025 18:23:50 +0800 Subject: [PATCH 2/2] better Signed-off-by: tison --- .github/workflows/ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 58d09a5..96d7cbf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,13 +62,9 @@ jobs: rust-versions: ${{ steps.metadata.outputs.rust-versions }} steps: - uses: actions/checkout@v6 - - name: Delete rust-toolchain.toml - run: rm rust-toolchain.toml - - name: Install toolchain - uses: dtolnay/rust-toolchain@nightly - id: metadata run: | - msrv=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[] | select(.name == "datasketches") | .rust_version') + msrv=$(yq '.workspace.package.rust-version' Cargo.toml) echo "MSRV: $msrv" echo "rust-versions=[\"${msrv}\", \"stable\"]" >> "$GITHUB_OUTPUT"