From 50aa54c43e35fe74deea658318caaf2e07c369ac Mon Sep 17 00:00:00 2001 From: eitsupi Date: Wed, 9 Oct 2024 11:08:33 +0000 Subject: [PATCH 1/6] chore: verify msrv with cargo-msrv 0.16 --- .github/workflows/tests.yaml | 5 ----- prqlc/prqlc/Cargo.toml | 3 --- 2 files changed, 8 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index c837422f9d9d..b97ba56d5733 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -519,12 +519,7 @@ jobs: - uses: baptiste0928/cargo-install@v3 with: crate: cargo-msrv - # Note this currently uses a manually maintained key in - # `prqlc/prqlc/Cargo.toml`, because of - # https://github.com/foresterre/cargo-msrv/issues/590 - name: Verify minimum rust version — prqlc - # Ideally we'd check all crates, ref https://github.com/foresterre/cargo-msrv/issues/295 - working-directory: prqlc/prqlc run: cargo msrv verify test-deps-min-versions: diff --git a/prqlc/prqlc/Cargo.toml b/prqlc/prqlc/Cargo.toml index 4fcf32d5a5ed..a045b220f428 100644 --- a/prqlc/prqlc/Cargo.toml +++ b/prqlc/prqlc/Cargo.toml @@ -8,9 +8,6 @@ repository.workspace = true rust-version.workspace = true version.workspace = true -# Required for `cargo-msrv`, which doesn't yet support workspaces -metadata.msrv = "1.73.0" - build = "build.rs" [features] From bc8ca6971dfba510859b269041bb15de10f344d4 Mon Sep 17 00:00:00 2001 From: eitsupi Date: Wed, 9 Oct 2024 12:37:04 +0000 Subject: [PATCH 2/6] fix: fix rust-version --- prqlc/prqlc/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prqlc/prqlc/Cargo.toml b/prqlc/prqlc/Cargo.toml index a045b220f428..f637dee18b84 100644 --- a/prqlc/prqlc/Cargo.toml +++ b/prqlc/prqlc/Cargo.toml @@ -5,9 +5,9 @@ name = "prqlc" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true +rust-version = "1.73.0" build = "build.rs" [features] From 1c853ef0f284103ad123d73e5fba130c26da9876 Mon Sep 17 00:00:00 2001 From: eitsupi Date: Wed, 9 Oct 2024 12:49:11 +0000 Subject: [PATCH 3/6] fix: fix lutra's msrv and verify prqlc and lutra's msrv on CI --- .github/workflows/tests.yaml | 4 ++++ lutra/bindings/python/Cargo.toml | 1 - lutra/lutra/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 6381ed24fd7f..c94d33bfc4e1 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -520,6 +520,10 @@ jobs: with: crate: cargo-msrv - name: Verify minimum rust version — prqlc + working-directory: prqlc/prqlc + run: cargo msrv verify + - name: Verify minimum rust version — lutra + working-directory: lutra/lutra run: cargo msrv verify test-deps-min-versions: diff --git a/lutra/bindings/python/Cargo.toml b/lutra/bindings/python/Cargo.toml index 5544deb04658..dcab1059bcca 100644 --- a/lutra/bindings/python/Cargo.toml +++ b/lutra/bindings/python/Cargo.toml @@ -6,7 +6,6 @@ publish = false edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [lib] diff --git a/lutra/lutra/Cargo.toml b/lutra/lutra/Cargo.toml index d3a92d5c55ec..3caebe7b2feb 100644 --- a/lutra/lutra/Cargo.toml +++ b/lutra/lutra/Cargo.toml @@ -1,11 +1,11 @@ [package] description = "Query runner for PRQL" name = "lutra" +rust-version = "1.77.2" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [features] From abaf89a8592ccdab45d898574dee8d4a0c06eea9 Mon Sep 17 00:00:00 2001 From: eitsupi Date: Wed, 9 Oct 2024 13:06:50 +0000 Subject: [PATCH 4/6] fix: fix rust-version --- .github/workflows/tests.yaml | 14 +++++++++----- Cargo.toml | 4 +--- lutra/bindings/python/Cargo.toml | 1 + lutra/lutra/Cargo.toml | 2 +- prqlc/bindings/elixir/native/prql/Cargo.toml | 2 +- prqlc/bindings/java/Cargo.toml | 2 +- prqlc/bindings/js/Cargo.toml | 2 +- prqlc/bindings/prqlc-c/Cargo.toml | 2 +- prqlc/bindings/prqlc-python/Cargo.toml | 2 +- prqlc/prqlc-macros/Cargo.toml | 2 +- prqlc/prqlc-parser/Cargo.toml | 2 +- prqlc/prqlc/examples/compile-files/Cargo.toml | 2 +- 12 files changed, 20 insertions(+), 17 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index c94d33bfc4e1..164fd0e8ebc2 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -513,17 +513,21 @@ jobs: runs-on: ubuntu-22.04 needs: rules if: needs.rules.outputs.nightly == 'true' + strategy: + fail-fast: false + matrix: + working-directory: + - . + - prqlc/prqlc + - lutra/lutra steps: - name: 📂 Checkout code uses: actions/checkout@v4 - uses: baptiste0928/cargo-install@v3 with: crate: cargo-msrv - - name: Verify minimum rust version — prqlc - working-directory: prqlc/prqlc - run: cargo msrv verify - - name: Verify minimum rust version — lutra - working-directory: lutra/lutra + - name: Verify minimum rust version — ${{ matrix.working-directory }} + working-directory: ${{ matrix.working-directory }} run: cargo msrv verify test-deps-min-versions: diff --git a/Cargo.toml b/Cargo.toml index 1717d9239db4..f5b8c5799492 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,9 +20,7 @@ authors = ["PRQL Developers"] edition = "2021" license = "Apache-2.0" repository = "https://github.com/PRQL/prql" -# This isn't tested since `cargo-msrv` doesn't support workspaces; instead we -# test `metadata.msrv` in `prqlc` -rust-version = "1.70.0" +rust-version = "1.77.2" version = "0.13.1" [profile.release] diff --git a/lutra/bindings/python/Cargo.toml b/lutra/bindings/python/Cargo.toml index dcab1059bcca..5544deb04658 100644 --- a/lutra/bindings/python/Cargo.toml +++ b/lutra/bindings/python/Cargo.toml @@ -6,6 +6,7 @@ publish = false edition.workspace = true license.workspace = true repository.workspace = true +rust-version.workspace = true version.workspace = true [lib] diff --git a/lutra/lutra/Cargo.toml b/lutra/lutra/Cargo.toml index 3caebe7b2feb..d3a92d5c55ec 100644 --- a/lutra/lutra/Cargo.toml +++ b/lutra/lutra/Cargo.toml @@ -1,11 +1,11 @@ [package] description = "Query runner for PRQL" name = "lutra" -rust-version = "1.77.2" edition.workspace = true license.workspace = true repository.workspace = true +rust-version.workspace = true version.workspace = true [features] diff --git a/prqlc/bindings/elixir/native/prql/Cargo.toml b/prqlc/bindings/elixir/native/prql/Cargo.toml index b3c4e221c4a0..12c3431af230 100644 --- a/prqlc/bindings/elixir/native/prql/Cargo.toml +++ b/prqlc/bindings/elixir/native/prql/Cargo.toml @@ -3,11 +3,11 @@ authors = ["Kasun Vithanage "] description = "Elixir NIF bindings for prqlc" name = "prql" publish = false +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [lib] diff --git a/prqlc/bindings/java/Cargo.toml b/prqlc/bindings/java/Cargo.toml index 61053f667acf..0e4eeb6204b9 100644 --- a/prqlc/bindings/java/Cargo.toml +++ b/prqlc/bindings/java/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "prql-java" publish = false +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [lib] diff --git a/prqlc/bindings/js/Cargo.toml b/prqlc/bindings/js/Cargo.toml index e509f4d9dfb4..7eee72a698b1 100644 --- a/prqlc/bindings/js/Cargo.toml +++ b/prqlc/bindings/js/Cargo.toml @@ -2,11 +2,11 @@ description = "Javascript bindings for prqlc" name = "prqlc-js" publish = false +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [lib] diff --git a/prqlc/bindings/prqlc-c/Cargo.toml b/prqlc/bindings/prqlc-c/Cargo.toml index 31076c62e141..baeabe91be18 100644 --- a/prqlc/bindings/prqlc-c/Cargo.toml +++ b/prqlc/bindings/prqlc-c/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "prqlc-c" publish = false +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true # This means we can build with `--features=default`, which can make builds more generic diff --git a/prqlc/bindings/prqlc-python/Cargo.toml b/prqlc/bindings/prqlc-python/Cargo.toml index 5de5bed6e702..d5e28a4a1272 100644 --- a/prqlc/bindings/prqlc-python/Cargo.toml +++ b/prqlc/bindings/prqlc-python/Cargo.toml @@ -3,11 +3,11 @@ build = "build.rs" description = "Python bindings for prqlc" name = "prqlc-python" publish = false +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [lib] diff --git a/prqlc/prqlc-macros/Cargo.toml b/prqlc/prqlc-macros/Cargo.toml index 27796bd112d4..35669a99737a 100644 --- a/prqlc/prqlc-macros/Cargo.toml +++ b/prqlc/prqlc-macros/Cargo.toml @@ -1,11 +1,11 @@ [package] description = "Macros for PRQL compilation at build time" name = "prqlc-macros" +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [lib] diff --git a/prqlc/prqlc-parser/Cargo.toml b/prqlc/prqlc-parser/Cargo.toml index 084ad035db5e..00f8403300a3 100644 --- a/prqlc/prqlc-parser/Cargo.toml +++ b/prqlc/prqlc-parser/Cargo.toml @@ -1,11 +1,11 @@ [package] description = "A parser for the PRQL query language." name = "prqlc-parser" +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [lib] diff --git a/prqlc/prqlc/examples/compile-files/Cargo.toml b/prqlc/prqlc/examples/compile-files/Cargo.toml index fcbe56e9fe7e..82a8f385b429 100644 --- a/prqlc/prqlc/examples/compile-files/Cargo.toml +++ b/prqlc/prqlc/examples/compile-files/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "compile-files" publish = false +rust-version = "1.73.0" edition.workspace = true license.workspace = true repository.workspace = true -rust-version.workspace = true version.workspace = true [[bin]] From 020f49a01a4961546f71e300b6845f35389f1155 Mon Sep 17 00:00:00 2001 From: eitsupi Date: Wed, 9 Oct 2024 13:20:11 +0000 Subject: [PATCH 5/6] ci: fix workdir --- .github/workflows/tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 164fd0e8ebc2..a643cb5cc5f8 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -517,7 +517,7 @@ jobs: fail-fast: false matrix: working-directory: - - . + - ./ - prqlc/prqlc - lutra/lutra steps: From 23e249defa517b6f3da28044813eb25c0c52f6b0 Mon Sep 17 00:00:00 2001 From: eitsupi Date: Wed, 9 Oct 2024 13:32:00 +0000 Subject: [PATCH 6/6] chore: comments --- .github/workflows/tests.yaml | 3 ++- Cargo.toml | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index a643cb5cc5f8..9e8cd751165a 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -517,7 +517,8 @@ jobs: fail-fast: false matrix: working-directory: - - ./ + # TODO: Verify workspace MSRV after https://github.com/foresterre/cargo-msrv/issues/590 + # - ./ - prqlc/prqlc - lutra/lutra steps: diff --git a/Cargo.toml b/Cargo.toml index f5b8c5799492..2ee4c055ea14 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,9 @@ authors = ["PRQL Developers"] edition = "2021" license = "Apache-2.0" repository = "https://github.com/PRQL/prql" +# This isn't tested since `cargo msrv verify` doesn't support workspaces +# https://github.com/foresterre/cargo-msrv/issues/590 +# But we can find the MSRV by `cargo msrv find` rust-version = "1.77.2" version = "0.13.1"