From 96928c2dd51e0de22c354357ccec6c57b8e974dc Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 17:17:00 -0700 Subject: [PATCH 01/12] Update most MSRVs --- .github/workflows/rust.yml | 2 -- Cargo.toml | 2 +- arrow-avro/Cargo.toml | 1 - arrow-flight/gen/Cargo.toml | 2 +- arrow-integration-testing/Cargo.toml | 2 +- arrow-json/Cargo.toml | 1 - arrow-pyarrow-integration-testing/Cargo.toml | 2 +- arrow-row/Cargo.toml | 1 - arrow-schema/Cargo.toml | 2 +- arrow/Cargo.toml | 2 +- parquet/Cargo.toml | 2 +- 11 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 1b65c5057de1..bdc4d0186f52 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -122,8 +122,6 @@ jobs: uses: ./.github/actions/setup-builder - name: Install cargo-msrv run: cargo install cargo-msrv - - name: Downgrade arrow dependencies - run: cargo update -p ahash --precise 0.8.7 - name: Check arrow working-directory: arrow run: cargo msrv --log-target stdout verify diff --git a/Cargo.toml b/Cargo.toml index f210ae210012..bf2274a40306 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,7 +74,7 @@ include = [ "Cargo.toml", ] edition = "2021" -rust-version = "1.62" +rust-version = "1.70" [workspace.dependencies] arrow = { version = "53.2.0", path = "./arrow", default-features = false } diff --git a/arrow-avro/Cargo.toml b/arrow-avro/Cargo.toml index d2436f0c15de..93e602320a1d 100644 --- a/arrow-avro/Cargo.toml +++ b/arrow-avro/Cargo.toml @@ -53,4 +53,3 @@ crc = { version = "3.0", optional = true } [dev-dependencies] - diff --git a/arrow-flight/gen/Cargo.toml b/arrow-flight/gen/Cargo.toml index c7fe89beb93a..53b275b52396 100644 --- a/arrow-flight/gen/Cargo.toml +++ b/arrow-flight/gen/Cargo.toml @@ -20,7 +20,7 @@ name = "gen" description = "Code generation for arrow-flight" version = "0.1.0" edition = { workspace = true } -rust-version = { workspace = true } +rust-version = "1.71.1" authors = { workspace = true } homepage = { workspace = true } repository = { workspace = true } diff --git a/arrow-integration-testing/Cargo.toml b/arrow-integration-testing/Cargo.toml index 7be56d919852..c3cd6346c1f9 100644 --- a/arrow-integration-testing/Cargo.toml +++ b/arrow-integration-testing/Cargo.toml @@ -25,7 +25,7 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } publish = false -rust-version = { workspace = true } +rust-version = "1.75.0" [lib] crate-type = ["lib", "cdylib"] diff --git a/arrow-json/Cargo.toml b/arrow-json/Cargo.toml index 517bb03d2064..5a3990efdfd6 100644 --- a/arrow-json/Cargo.toml +++ b/arrow-json/Cargo.toml @@ -60,4 +60,3 @@ rand = { version = "0.8", default-features = false, features = ["std", "std_rng" [[bench]] name = "serde" harness = false - diff --git a/arrow-pyarrow-integration-testing/Cargo.toml b/arrow-pyarrow-integration-testing/Cargo.toml index 0834f2d13384..5f8d48dc58d5 100644 --- a/arrow-pyarrow-integration-testing/Cargo.toml +++ b/arrow-pyarrow-integration-testing/Cargo.toml @@ -25,7 +25,7 @@ authors = ["Apache Arrow "] license = "Apache-2.0" keywords = [ "arrow" ] edition = "2021" -rust-version = "1.62" +rust-version = "1.70" publish = false [lib] diff --git a/arrow-row/Cargo.toml b/arrow-row/Cargo.toml index 3754afb4dbc6..c04c84a55e1b 100644 --- a/arrow-row/Cargo.toml +++ b/arrow-row/Cargo.toml @@ -53,4 +53,3 @@ arrow-ord = { workspace = true } rand = { version = "0.8", default-features = false, features = ["std", "std_rng"] } [features] - diff --git a/arrow-schema/Cargo.toml b/arrow-schema/Cargo.toml index 628d4a683cac..945c6f2ed464 100644 --- a/arrow-schema/Cargo.toml +++ b/arrow-schema/Cargo.toml @@ -26,7 +26,7 @@ license = { workspace = true } keywords = { workspace = true } include = { workspace = true } edition = { workspace = true } -rust-version = { workspace = true } +rust-version = "1.64" [lib] name = "arrow_schema" diff --git a/arrow/Cargo.toml b/arrow/Cargo.toml index a0fd96415a1d..c8e162ff9b02 100644 --- a/arrow/Cargo.toml +++ b/arrow/Cargo.toml @@ -31,7 +31,7 @@ include = [ "Cargo.toml", ] edition = { workspace = true } -rust-version = "1.70.0" +rust-version = { workspace = true } [lib] name = "arrow" diff --git a/parquet/Cargo.toml b/parquet/Cargo.toml index 4064baba0947..5e2c13bf9c4d 100644 --- a/parquet/Cargo.toml +++ b/parquet/Cargo.toml @@ -26,7 +26,7 @@ authors = { workspace = true } keywords = ["arrow", "parquet", "hadoop"] readme = "README.md" edition = { workspace = true } -rust-version = "1.70.0" +rust-version = { workspace = true } [target.'cfg(target_arch = "wasm32")'.dependencies] ahash = { version = "0.8", default-features = false, features = ["compile-time-rng"] } From 4ba624f8719627afe8a760761d4c58898296e972 Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 17:44:35 -0700 Subject: [PATCH 02/12] Make cargo-msrv verify every package in repo instead of just a select few and purposefully break arrow-flight msrv --- .github/workflows/rust.yml | 18 ++++++------------ arrow-flight/gen/Cargo.toml | 2 +- object_store/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index bdc4d0186f52..1972bbd50332 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -122,15 +122,6 @@ jobs: uses: ./.github/actions/setup-builder - name: Install cargo-msrv run: cargo install cargo-msrv - - name: Check arrow - working-directory: arrow - run: cargo msrv --log-target stdout verify - - name: Check parquet - working-directory: parquet - run: cargo msrv --log-target stdout verify - - name: Check arrow-flight - working-directory: arrow-flight - run: cargo msrv --log-target stdout verify - name: Downgrade object_store dependencies working-directory: object_store # Necessary because tokio 1.30.0 updates MSRV to 1.63 @@ -138,6 +129,9 @@ jobs: run: | cargo update -p tokio --precise 1.29.1 cargo update -p url --precise 2.5.0 - - name: Check object_store - working-directory: object_store - run: cargo msrv --log-target stdout verify + - name: Check all packages + run: | + find . -name Cargo.toml | while read -r dir + do + cargo msrv --log-target stdout verify --manifest-path "$dir" || exit1 + done diff --git a/arrow-flight/gen/Cargo.toml b/arrow-flight/gen/Cargo.toml index 53b275b52396..fbc107c69811 100644 --- a/arrow-flight/gen/Cargo.toml +++ b/arrow-flight/gen/Cargo.toml @@ -20,7 +20,7 @@ name = "gen" description = "Code generation for arrow-flight" version = "0.1.0" edition = { workspace = true } -rust-version = "1.71.1" +rust-version = "1.11" authors = { workspace = true } homepage = { workspace = true } repository = { workspace = true } diff --git a/object_store/Cargo.toml b/object_store/Cargo.toml index 86d1392ebf61..d4e97d498edf 100644 --- a/object_store/Cargo.toml +++ b/object_store/Cargo.toml @@ -24,7 +24,7 @@ readme = "README.md" description = "A generic object store interface for uniformly interacting with AWS S3, Google Cloud Storage, Azure Blob Storage and local files." keywords = ["object", "storage", "cloud"] repository = "https://github.com/apache/arrow-rs/tree/master/object_store" -rust-version = "1.64.0" +rust-version = "1.62.1" [package.metadata.docs.rs] all-features = true From 25001d91585d43d7566d214e6017b738c71186cb Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 17:58:25 -0700 Subject: [PATCH 03/12] Add test to ensure workspace rust version is being used at least somewhere --- .github/workflows/rust.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 1972bbd50332..999ec86c9530 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -135,3 +135,7 @@ jobs: do cargo msrv --log-target stdout verify --manifest-path "$dir" || exit1 done + # If no packages are using the workspace's rust-version, then it's out of date + - name: Verify workspace rust-version is used + run: | + grep -r '^rust-version *= *{ *workspace *= *true *}' -q --exclude-dir '*target*' --exclude-dir .git . From 26498f03c2cb09c6131a3bb3ddda3bae3fdbc2dc Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 18:05:25 -0700 Subject: [PATCH 04/12] Fix exit1 => exit 1 --- .github/workflows/rust.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 999ec86c9530..75a1fe42d16d 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -133,7 +133,7 @@ jobs: run: | find . -name Cargo.toml | while read -r dir do - cargo msrv --log-target stdout verify --manifest-path "$dir" || exit1 + cargo msrv --log-target stdout verify --manifest-path "$dir" || exit 1 done # If no packages are using the workspace's rust-version, then it's out of date - name: Verify workspace rust-version is used From 5b0f6026a96d0730212586df9666a18a29028a9d Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 18:06:27 -0700 Subject: [PATCH 05/12] Make arrow-flight work, at the very least, with 'cargo metadata' --- arrow-flight/gen/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arrow-flight/gen/Cargo.toml b/arrow-flight/gen/Cargo.toml index fbc107c69811..f5501c2dd37e 100644 --- a/arrow-flight/gen/Cargo.toml +++ b/arrow-flight/gen/Cargo.toml @@ -20,7 +20,7 @@ name = "gen" description = "Code generation for arrow-flight" version = "0.1.0" edition = { workspace = true } -rust-version = "1.11" +rust-version = "1.56" authors = { workspace = true } homepage = { workspace = true } repository = { workspace = true } From 765c2f064331301515df28ab54c46243221be87a Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 18:22:54 -0700 Subject: [PATCH 06/12] Fix arrow-flight/gen rust-version to make CI pass now --- .github/workflows/rust.yml | 1 + arrow-flight/gen/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 75a1fe42d16d..19434fa4ffc4 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -133,6 +133,7 @@ jobs: run: | find . -name Cargo.toml | while read -r dir do + echo "Checking package '$dir'" cargo msrv --log-target stdout verify --manifest-path "$dir" || exit 1 done # If no packages are using the workspace's rust-version, then it's out of date diff --git a/arrow-flight/gen/Cargo.toml b/arrow-flight/gen/Cargo.toml index f5501c2dd37e..53b275b52396 100644 --- a/arrow-flight/gen/Cargo.toml +++ b/arrow-flight/gen/Cargo.toml @@ -20,7 +20,7 @@ name = "gen" description = "Code generation for arrow-flight" version = "0.1.0" edition = { workspace = true } -rust-version = "1.56" +rust-version = "1.71.1" authors = { workspace = true } homepage = { workspace = true } repository = { workspace = true } From f17f4cf5a2b86a2160aa3284685fccfaf8b54d56 Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 21:28:10 -0700 Subject: [PATCH 07/12] Get rid of pretty msrv logging as it can't all be displayed --- .github/workflows/rust.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 19434fa4ffc4..5d9eb8ae04e0 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -134,7 +134,7 @@ jobs: find . -name Cargo.toml | while read -r dir do echo "Checking package '$dir'" - cargo msrv --log-target stdout verify --manifest-path "$dir" || exit 1 + cargo msrv verify --manifest-path "$dir" || exit 1 done # If no packages are using the workspace's rust-version, then it's out of date - name: Verify workspace rust-version is used From 4d6ffebf34e05724355e778ef70863044b2b9395 Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Sat, 16 Nov 2024 21:50:49 -0700 Subject: [PATCH 08/12] Do '-mindepth 2' with find to prevent running cargo msrv on the workspace as a whole --- .github/workflows/rust.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 5d9eb8ae04e0..84f8b183c34c 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -131,7 +131,7 @@ jobs: cargo update -p url --precise 2.5.0 - name: Check all packages run: | - find . -name Cargo.toml | while read -r dir + find . -mindepth 2 -name Cargo.toml | while read -r dir do echo "Checking package '$dir'" cargo msrv verify --manifest-path "$dir" || exit 1 From bfe798d6d47b8bf00a078fe98cd772c450bb1733 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Fri, 22 Nov 2024 15:05:56 -0500 Subject: [PATCH 09/12] Use correct MSRV for object_store --- object_store/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_store/Cargo.toml b/object_store/Cargo.toml index d4e97d498edf..c79e42a167d8 100644 --- a/object_store/Cargo.toml +++ b/object_store/Cargo.toml @@ -24,7 +24,7 @@ readme = "README.md" description = "A generic object store interface for uniformly interacting with AWS S3, Google Cloud Storage, Azure Blob Storage and local files." keywords = ["object", "storage", "cloud"] repository = "https://github.com/apache/arrow-rs/tree/master/object_store" -rust-version = "1.62.1" +rust-version = "1.70.0" [package.metadata.docs.rs] all-features = true From 3be097426e423685fe5e931c56bfa760793bac89 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Fri, 22 Nov 2024 15:15:39 -0500 Subject: [PATCH 10/12] remove workspace msrv check --- .github/workflows/rust.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 84f8b183c34c..9a9332afba48 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -135,8 +135,4 @@ jobs: do echo "Checking package '$dir'" cargo msrv verify --manifest-path "$dir" || exit 1 - done - # If no packages are using the workspace's rust-version, then it's out of date - - name: Verify workspace rust-version is used - run: | - grep -r '^rust-version *= *{ *workspace *= *true *}' -q --exclude-dir '*target*' --exclude-dir .git . + done \ No newline at end of file From ddd66afac31bd37f804173a4caf92805fb37f422 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Sat, 23 Nov 2024 05:35:37 -0500 Subject: [PATCH 11/12] revert msrv --- object_store/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_store/Cargo.toml b/object_store/Cargo.toml index c79e42a167d8..86d1392ebf61 100644 --- a/object_store/Cargo.toml +++ b/object_store/Cargo.toml @@ -24,7 +24,7 @@ readme = "README.md" description = "A generic object store interface for uniformly interacting with AWS S3, Google Cloud Storage, Azure Blob Storage and local files." keywords = ["object", "storage", "cloud"] repository = "https://github.com/apache/arrow-rs/tree/master/object_store" -rust-version = "1.70.0" +rust-version = "1.64.0" [package.metadata.docs.rs] all-features = true From 35e9f983471f1ea1f637e945f2ad7599fae461cf Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Mon, 2 Dec 2024 09:15:53 -0700 Subject: [PATCH 12/12] push object_store MSRV back down to 1.62.1 --- object_store/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object_store/Cargo.toml b/object_store/Cargo.toml index 86d1392ebf61..d4e97d498edf 100644 --- a/object_store/Cargo.toml +++ b/object_store/Cargo.toml @@ -24,7 +24,7 @@ readme = "README.md" description = "A generic object store interface for uniformly interacting with AWS S3, Google Cloud Storage, Azure Blob Storage and local files." keywords = ["object", "storage", "cloud"] repository = "https://github.com/apache/arrow-rs/tree/master/object_store" -rust-version = "1.64.0" +rust-version = "1.62.1" [package.metadata.docs.rs] all-features = true