From abb8bc1a28ea86c7f0835200567e83ce80b3200c Mon Sep 17 00:00:00 2001 From: Nathan Riley Date: Thu, 30 Jul 2026 04:46:20 +0000 Subject: [PATCH] Add MSRV-pinned CI job at 1.95, bump workspace rust-version to match opentimstdf's rusqlite ^0.40 dependency (mandatory, not optional here) resolves to libsqlite3-sys 0.38.x, whose bundled-build path uses the cfg_select! macro stabilized in Rust 1.95. Cargo.lock already resolves to this version, so an MSRV job must pin 1.95 from day one rather than the org default of 1.88, or it would be red on its first run. This is the same break already fixed in Sigilweaver/OpenMassSpec@691a6ca; the difference here is the dependency is unconditional, not gated behind an optional feature. Verified clean with cargo +1.95.0 check --workspace --all-features. Closes #32 --- .github/workflows/ci.yml | 12 ++++++++++++ Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8b0315..134812f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,6 +45,18 @@ jobs: - name: cargo test run: cargo test --workspace --all-targets + msrv: + name: MSRV check (1.95) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: "1.95" + - uses: Swatinem/rust-cache@v2 + - name: cargo check (MSRV) + run: cargo check --workspace --all-features + docs: name: Docs (Docusaurus) runs-on: ubuntu-latest diff --git a/Cargo.toml b/Cargo.toml index 4e1c807..f007ad6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ members = ["crates/opentimstdf", "crates/opentimstdf-py"] [workspace.package] version = "1.3.2" edition = "2021" -rust-version = "1.85" +rust-version = "1.95" authors = ["Nathan Riley "] license = "Apache-2.0" repository = "https://github.com/Sigilweaver/OpenTimsTDF"