From 35d2534bbf46e93a527e1f2d193502062d2c2162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Robert?= Date: Fri, 2 Jan 2026 12:17:52 +0100 Subject: [PATCH] BLD: declare explicit MSRV --- .github/workflows/test-rust.yml | 35 +++++++++++++++++++++++++++++++++ Cargo.toml | 1 + 2 files changed, 36 insertions(+) diff --git a/.github/workflows/test-rust.yml b/.github/workflows/test-rust.yml index 8476934..d234a93 100644 --- a/.github/workflows/test-rust.yml +++ b/.github/workflows/test-rust.yml @@ -10,6 +10,41 @@ env: CARGO_TERM_COLOR: always jobs: + resolve-msrv: + runs-on: ubuntu-latest + outputs: + MSRV: ${{ steps.resolve-msrv.outputs.MSRV }} + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + persist-credentials: false + - uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6 + with: + python-version: '3.14' + enable-cache: false + - name: resolve MSRV + id: resolve-msrv + run: | + echo MSRV=`python -c 'import tomllib; print(tomllib.load(open("Cargo.toml", "rb"))["package"]["rust-version"])'` >> $GITHUB_OUTPUT + + check-msrv: + needs: [resolve-msrv] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + persist-credentials: false + - run: echo MSRV=${NEEDS_RESOLVE_MSRV_OUTPUTS_MSRV} + env: + NEEDS_RESOLVE_MSRV_OUTPUTS_MSRV: ${{ needs.resolve-msrv.outputs.MSRV }} + - run: rustup default ${NEEDS_RESOLVE_MSRV_OUTPUTS_MSRV} && rustup default ${NEEDS_RESOLVE_MSRV_OUTPUTS_MSRV} + env: + NEEDS_RESOLVE_MSRV_OUTPUTS_MSRV: ${{ needs.resolve-msrv.outputs.MSRV }} + # this check is very slow, so, set up a cache + - uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 + - run: cargo build --verbose + - run: cargo test --verbose + test_rust: runs-on: ubuntu-latest diff --git a/Cargo.toml b/Cargo.toml index a9ff868..5ddb9a4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,7 @@ name = "interpn" version = "0.9.1" edition = "2024" +rust-version = "1.87" # 2025-05-15 authors = ["James Logan "] license = "MIT OR Apache-2.0" repository = "https://github.com/jlogan03/interpn/"