diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a91fad1..e4bf86b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: jobs: msrv-backend-neutral: - name: MSRV backend-neutral crates + name: Pinned Rust backend-neutral crates runs-on: ubuntu-latest timeout-minutes: 20 env: @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 with: - toolchain: 1.87.0 + toolchain: 1.97.1 - name: Test backend-neutral crates run: > cargo test @@ -66,7 +66,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 with: - toolchain: 1.87.0 + toolchain: 1.97.1 components: clippy,rustfmt - name: Provision macOS Vulkan runtime shell: bash @@ -147,7 +147,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 with: - toolchain: 1.87.0 + toolchain: 1.97.1 - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 with: pattern: native-smoke-* diff --git a/Cargo.toml b/Cargo.toml index 018fe73..3e92b8a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ members = [ [workspace.package] version = "0.1.0" edition = "2021" -rust-version = "1.87" +rust-version = "1.97" license = "GPL-2.0-only" repository = "https://github.com/valentineus/fparkan" diff --git a/apps/fparkan-vulkan-smoke/src/main.rs b/apps/fparkan-vulkan-smoke/src/main.rs index 814d503..05c8f80 100644 --- a/apps/fparkan-vulkan-smoke/src/main.rs +++ b/apps/fparkan-vulkan-smoke/src/main.rs @@ -1076,7 +1076,7 @@ mod tests { git_dirty: false, runner_identity: "github-actions/12345/stage0-macos".to_string(), runner_architecture: "aarch64", - rust_toolchain: "1.87.0".to_string(), + rust_toolchain: "1.97.1".to_string(), target_triple: "aarch64-apple-darwin".to_string(), platform: "macos", status: "passed", diff --git a/crates/fparkan-vfs/src/lib.rs b/crates/fparkan-vfs/src/lib.rs index 68d812b..7adddf0 100644 --- a/crates/fparkan-vfs/src/lib.rs +++ b/crates/fparkan-vfs/src/lib.rs @@ -364,10 +364,14 @@ fn file_identity(metadata: &fs::Metadata) -> Option { #[cfg(windows)] #[allow(clippy::unnecessary_wraps)] fn file_identity(metadata: &fs::Metadata) -> Option { + // Stable Rust does not expose the Windows file index. Keep a best-effort + // replacement detector from metadata that is available through the + // supported standard-library API; `read` also compares size and + // last-write time before returning bytes. Some( - (metadata.volume_serial_number() as u64).rotate_left(40) - ^ ((metadata.file_index_high() as u64) << 32) - ^ metadata.file_index_low() as u64, + metadata.creation_time().rotate_left(17) + ^ metadata.last_write_time().rotate_left(31) + ^ u64::from(metadata.file_attributes()).rotate_left(47), ) } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index f9cc44b..8addfa6 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.87.0" +channel = "1.97.1" components = ["clippy", "rustfmt", "rust-docs"] targets = [ "x86_64-unknown-linux-gnu", diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 647e43f..894c95e 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -43,8 +43,8 @@ const SUPPLY_CHAIN_POLICY_CONFIG: &str = "deny.toml"; const REQUIRED_NATIVE_SMOKE_PLATFORMS: &[&str] = &["macos"]; const APPROVED_REGISTRY_SOURCE: &str = "registry+https://github.com/rust-lang/crates.io-index"; const SUPPLY_CHAIN_BANNED_PACKAGES: &[&str] = &["native-tls", "openssl", "openssl-sys"]; -const PINNED_RUST_TOOLCHAIN: &str = "1.87.0"; -const WORKSPACE_MSRV: &str = "1.87"; +const PINNED_RUST_TOOLCHAIN: &str = "1.97.1"; +const WORKSPACE_MSRV: &str = "1.97"; const ALLOW_SUPPLY_CHAIN_FALLBACK_ENV: &str = "FPARKAN_ALLOW_SUPPLY_CHAIN_FALLBACK"; fn workspace_root_path() -> PathBuf { @@ -3156,8 +3156,8 @@ mod tests { assert!(json.contains("\"commit_sha\": \"0123456789abcdef0123456789abcdef01234567\"")); assert!(json.contains("\"git_dirty\": false")); assert!(json.contains("\"runner_identity\": \"github-actions/12345/stage0-macos\"")); - assert!(json.contains("\"rust_toolchain\": \"1.87.0\"")); - assert!(json.contains("\"msrv\": \"1.87\"")); + assert!(json.contains("\"rust_toolchain\": \"1.97.1\"")); + assert!(json.contains("\"msrv\": \"1.97\"")); } #[test] @@ -3410,7 +3410,7 @@ mod tests { fs::write( &manifest, format!( - "schema = 1\n\n[[corpus]]\nid = \"part1-local\"\nkind = \"part1\"\nroot = \"{}\"\nexpected_profile = \"parkan-is-part1\"\n\n[[corpus]]\nid = \"part2-local\"\nkind = \"part2\"\nroot = \"{}\"\nexpected_profile = \"parkan-is-part2\"\n", + "schema = 1\n\n[[corpus]]\nid = \"part1-local\"\nkind = \"part1\"\nroot = '{}'\nexpected_profile = \"parkan-is-part1\"\n\n[[corpus]]\nid = \"part2-local\"\nkind = \"part2\"\nroot = '{}'\nexpected_profile = \"parkan-is-part2\"\n", part1.display(), part2.display() ), @@ -3538,7 +3538,7 @@ fparkan-render-vulkan = { path = "../../adapters/fparkan-render-vulkan" } .map_err(|err| err.to_string())?; fs::write( root.join("Cargo.toml"), - "[workspace]\n[workspace.package]\nrust-version = \"1.87\"\n", + "[workspace]\n[workspace.package]\nrust-version = \"1.97\"\n", ) .map_err(|err| err.to_string())?;