From b64284d8ca82f808a06f065b492dff6c40f426a0 Mon Sep 17 00:00:00 2001 From: Will Jones Date: Wed, 5 Aug 2026 15:58:04 -0700 Subject: [PATCH] ci: resolve MSRV lockfile against rust-version instead of hand-pinned versions The MSRV job pinned `aws-smithy-checksums` to 0.63.9, which requires `crc-fast = "~1.3.0"`. Lance v11 pulls in opendal 0.58.1, whose `opendal-service-s3` requires `crc-fast = "^1.9.0"`, so the downgrade step failed to resolve. Replace the hand-maintained pin list with cargo's MSRV-aware resolution, which picks the newest versions whose declared `rust-version` fits the workspace MSRV. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/rust.yml | 40 ++++++++------------------------------ 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 1a0b65c4a..a7f0fc75d 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -276,38 +276,14 @@ jobs: # unreadable outside their own branch anyway, since GitHub scopes # caches to the creating ref. save-if: ${{ github.ref == 'refs/heads/main' }} - - name: Downgrade dependencies - # These packages have newer requirements for MSRV - run: | - cargo update -p aws-sdk-bedrockruntime --precise 1.77.0 - cargo update -p aws-sdk-dynamodb --precise 1.68.0 - cargo update -p aws-config --precise 1.6.0 - cargo update -p aws-sdk-kms --precise 1.63.0 - cargo update -p aws-sdk-s3 --precise 1.79.0 - cargo update -p aws-sdk-sso --precise 1.62.0 - cargo update -p aws-sdk-ssooidc --precise 1.63.0 - cargo update -p aws-sdk-sts --precise 1.63.0 - # aws-runtime/sigv4/credential-types/types and the aws-smithy-* - # crates bumped their MSRV to 1.91.1 in late 2026; pin to the last - # 1.91.0-compatible versions. The order matters — each downgrade - # only succeeds once everything that still pins it at a higher - # version has itself been downgraded. - cargo update -p aws-runtime --precise 1.5.12 - cargo update -p aws-types --precise 1.3.9 - cargo update -p aws-sigv4 --precise 1.3.5 - cargo update -p aws-credential-types --precise 1.2.8 - cargo update -p aws-smithy-checksums --precise 0.63.9 - cargo update -p aws-smithy-runtime --precise 1.9.3 - cargo update -p aws-smithy-http --precise 0.62.4 - cargo update -p aws-smithy-eventstream --precise 0.60.12 - cargo update -p aws-smithy-http-client --precise 1.1.3 - cargo update -p aws-smithy-observability --precise 0.1.4 - cargo update -p aws-smithy-query --precise 0.60.8 - cargo update -p aws-smithy-runtime-api --precise 1.9.1 - cargo update -p aws-smithy-async --precise 1.2.6 - cargo update -p aws-smithy-types --precise 1.3.5 - cargo update -p aws-smithy-xml --precise 0.60.11 - cargo update -p home --precise 0.5.9 + - name: Downgrade dependencies that exceed our MSRV + # Re-resolve the lockfile against `rust-version` instead of hand-pinning + # every crate that raises its MSRV. Hand-pinning drifts: the pins keep + # ratcheting further back than needed and eventually contradict a real + # requirement elsewhere in the graph. + env: + CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: fallback + run: cargo update - name: cargo +${{ matrix.msrv }} check env: RUSTUP_TOOLCHAIN: ${{ matrix.msrv }}