diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index f52cf1058333..9e8cd751165a 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -513,21 +513,22 @@ jobs: runs-on: ubuntu-22.04 needs: rules if: needs.rules.outputs.nightly == 'true' + strategy: + fail-fast: false + matrix: + working-directory: + # TODO: Verify workspace MSRV after https://github.com/foresterre/cargo-msrv/issues/590 + # - ./ + - prqlc/prqlc + - lutra/lutra steps: - name: 📂 Checkout code uses: actions/checkout@v4 - uses: baptiste0928/cargo-install@v3 with: crate: cargo-msrv - # TODO: remove this version pinning - # The latest 0.16 supports workspace inheritance, so the check will fail - version: "0.15" - # 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 + - 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..2ee4c055ea14 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,9 +20,10 @@ 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" +# 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" [profile.release] 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/Cargo.toml b/prqlc/prqlc/Cargo.toml index 4fcf32d5a5ed..f637dee18b84 100644 --- a/prqlc/prqlc/Cargo.toml +++ b/prqlc/prqlc/Cargo.toml @@ -5,12 +5,9 @@ name = "prqlc" edition.workspace = true license.workspace = true 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" - +rust-version = "1.73.0" build = "build.rs" [features] 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]]