Add MSRV-pinned CI job at 1.95 - #34
Merged
Merged
Conversation
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
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
opentimstdf-docs | abb8bc1 | Jul 30 2026, 04:47 AM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
msrvjob (MSRV check (1.95)) to.github/workflows/ci.yml:dtolnay/rust-toolchain@masterpinned to1.95,Swatinem/rust-cache@v2, thencargo check --workspace --all-features.[workspace.package].rust-versionfrom1.85to1.95in the workspaceCargo.toml.This repo previously had no MSRV-pinned CI job at all. As flagged in the issue, the org default MSRV (1.88 per
versions.toml) would NOT work here:crates/opentimstdf/Cargo.tomldepends onrusqlite = { version = "0.40", features = ["bundled"] }as a mandatory (non-optional) dependency, which resolves tolibsqlite3-sys 0.38.1per the currentCargo.lock. That crate's bundled-build path uses thecfg_select!macro, stabilized only in Rust 1.95. So the job is pinned to 1.95 from day one instead.This is the same underlying break already fixed in
Sigilweaver/OpenMassSpec@691a6ca- the difference is that here therusqlite/bundled-sqlite dependency is unconditional rather than gated behind an optional feature, so it affects every build, not just a feature-flagged one.No changes to the org's
versions.tomlpolicy.msrv- this is a per-repo pin only, matching the pattern from the reference commit.Verification
Rust 1.95 was available to install locally (
rustup toolchain install 1.95succeeded, resolving torustc 1.95.0 (59807616e 2026-04-14)). Ran the exact command the new CI job runs:This completed clean (workspace + all-features, including the
rusqlite/libsqlite3-sys 0.38.1bundled-build path), confirming the MSRV job will pass on its first run.Closes #32