@@ -30,33 +30,28 @@ jobs:
30
30
strategy :
31
31
matrix :
32
32
os : [ubuntu-latest, windows-latest, macos-latest]
33
- rust : [1.86.0, stable, beta]
34
- include :
35
- # Add MSRV (Minimum Supported Rust Version) check on Ubuntu
36
- # Cargo.lock version 4 requires Rust 1.77.0 or later
37
- - os : ubuntu-latest
38
- rust : 1.77.0 # MSRV that supports Cargo.lock version 4
33
+ # Using rust-toolchain.toml to enforce consistent Rust 1.86.0 across all environments
34
+ # This ensures Cargo.lock v4 compatibility everywhere
39
35
40
36
steps :
41
37
# Step 1: Check out the source code from the repository
42
38
- name : Checkout source code
43
39
uses : actions/checkout@v4
44
40
45
- # Step 2: Install the specified Rust toolchain
46
- # This ensures we're testing with the exact Rust version from our matrix
41
+ # Step 2: Install Rust toolchain from rust- toolchain.toml
42
+ # This ensures consistent Rust 1.86.0 that supports Cargo.lock v4
47
43
- name : Install Rust toolchain
48
- uses : dtolnay/rust-toolchain@master
44
+ uses : dtolnay/rust-toolchain@1.86.0
49
45
with :
50
- toolchain : ${{ matrix.rust }}
51
46
components : rustfmt, clippy
52
47
53
48
# Step 3: Configure Rust cargo caching to speed up builds
54
49
# This caches dependencies and build artifacts between runs
55
50
- name : Setup Rust cache
56
51
uses : Swatinem/rust-cache@v2
57
52
with :
58
- # Cache key includes OS and Rust version for proper isolation
59
- key : ${{ matrix.os }}-${{ matrix. rust }}
53
+ # Cache key includes OS for proper isolation
54
+ key : ${{ matrix.os }}-rust-1.86.0
60
55
61
56
# Step 4: Build all targets to ensure compilation succeeds
62
57
# We build all binary examples defined in Cargo.toml
0 commit comments