From a4130c7c38c0a6bbaee2a6e8fbd34ec882e2a65e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garci=CC=81a?= Date: Mon, 5 Feb 2024 10:28:33 +0100 Subject: [PATCH 1/4] Update MSRV to 1.71 and add CI test --- .github/workflows/minimum-rust-version.yml | 46 ++++++++++++++++++++++ crates/bitwarden-c/Cargo.toml | 2 +- crates/bitwarden-cli/Cargo.toml | 2 +- crates/bitwarden-crypto/Cargo.toml | 2 +- crates/bitwarden-generators/Cargo.toml | 2 +- crates/bitwarden-json/Cargo.toml | 2 +- crates/bitwarden-napi/Cargo.toml | 2 +- crates/bitwarden-py/Cargo.toml | 2 +- crates/bitwarden-uniffi/Cargo.toml | 2 +- crates/bitwarden-wasm/Cargo.toml | 2 +- crates/bitwarden/Cargo.toml | 2 +- crates/bitwarden/README.md | 2 +- crates/bw/Cargo.toml | 2 +- crates/bws/Cargo.toml | 2 +- crates/sdk-schemas/Cargo.toml | 2 +- crates/uniffi-bindgen/Cargo.toml | 2 +- 16 files changed, 61 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/minimum-rust-version.yml diff --git a/.github/workflows/minimum-rust-version.yml b/.github/workflows/minimum-rust-version.yml new file mode 100644 index 000000000..8e437f2b8 --- /dev/null +++ b/.github/workflows/minimum-rust-version.yml @@ -0,0 +1,46 @@ +--- +name: Minimum Rust Version + +on: + pull_request: + push: + branches: + - "main" + - "rc" + - "hotfix-rc" + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + msrv: + name: Check MSRV for - ${{ matrix.settings.os }} - ${{ matrix.settings.target }} + runs-on: ${{ matrix.settings.os || 'ubuntu-latest' }} + strategy: + fail-fast: false + matrix: + settings: + - os: ubuntu-22.04 + target: x86_64-unknown-linux-gnu + + steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Install rust + uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248 # stable + with: + # Important: When updating this, make sure to update the Readme file + # and also the `rust-version` field in all the `Cargo.toml`. + toolchain: 1.71.0 + targets: ${{ matrix.settings.target }} + + - name: Cache cargo registry + uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 + with: + key: dmv-${{ matrix.settings.target }}-cargo-${{ matrix.settings.os }} + + - name: cargo check MSRV + run: cargo check --all-features diff --git a/crates/bitwarden-c/Cargo.toml b/crates/bitwarden-c/Cargo.toml index c6f0ec7f3..211a482e9 100644 --- a/crates/bitwarden-c/Cargo.toml +++ b/crates/bitwarden-c/Cargo.toml @@ -2,7 +2,7 @@ name = "bitwarden-c" version = "0.1.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [lib] crate-type = ["lib", "staticlib", "cdylib"] diff --git a/crates/bitwarden-cli/Cargo.toml b/crates/bitwarden-cli/Cargo.toml index 4248c9189..cf28447d3 100644 --- a/crates/bitwarden-cli/Cargo.toml +++ b/crates/bitwarden-cli/Cargo.toml @@ -2,7 +2,7 @@ name = "bitwarden-cli" version = "0.1.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [dependencies] clap = { version = "4.4.18", features = ["derive"] } diff --git a/crates/bitwarden-crypto/Cargo.toml b/crates/bitwarden-crypto/Cargo.toml index 295cdd38e..6f1de0789 100644 --- a/crates/bitwarden-crypto/Cargo.toml +++ b/crates/bitwarden-crypto/Cargo.toml @@ -10,7 +10,7 @@ Internal crate for the bitwarden crate. Do not use. """ keywords = ["bitwarden"] edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [features] default = [] diff --git a/crates/bitwarden-generators/Cargo.toml b/crates/bitwarden-generators/Cargo.toml index 39eeb3d71..800f6f765 100644 --- a/crates/bitwarden-generators/Cargo.toml +++ b/crates/bitwarden-generators/Cargo.toml @@ -10,7 +10,7 @@ Internal crate for the bitwarden crate. Do not use. """ keywords = ["bitwarden"] edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [features] mobile = ["uniffi"] # Mobile-specific features diff --git a/crates/bitwarden-json/Cargo.toml b/crates/bitwarden-json/Cargo.toml index f7c0fd58d..26d3f600a 100644 --- a/crates/bitwarden-json/Cargo.toml +++ b/crates/bitwarden-json/Cargo.toml @@ -11,7 +11,7 @@ JSON bindings for the Bitwarden Secret Manager SDK keywords = ["bitwarden", "secrets manager"] categories = ["api-bindings"] edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [features] internal = ["bitwarden/internal"] # Internal testing methods diff --git a/crates/bitwarden-napi/Cargo.toml b/crates/bitwarden-napi/Cargo.toml index 4b6ff4ed1..296f5f45f 100644 --- a/crates/bitwarden-napi/Cargo.toml +++ b/crates/bitwarden-napi/Cargo.toml @@ -10,7 +10,7 @@ N-API bindings for the Bitwarden Secrets Manager SDK """ keywords = ["bitwarden", "secrets manager"] edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [lib] crate-type = ["cdylib", "rlib"] diff --git a/crates/bitwarden-py/Cargo.toml b/crates/bitwarden-py/Cargo.toml index e81f2f5a8..f954b0a20 100644 --- a/crates/bitwarden-py/Cargo.toml +++ b/crates/bitwarden-py/Cargo.toml @@ -2,7 +2,7 @@ name = "bitwarden-py" version = "0.1.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [lib] name = "bitwarden_py" diff --git a/crates/bitwarden-uniffi/Cargo.toml b/crates/bitwarden-uniffi/Cargo.toml index 7f780558b..eb316ceca 100644 --- a/crates/bitwarden-uniffi/Cargo.toml +++ b/crates/bitwarden-uniffi/Cargo.toml @@ -2,7 +2,7 @@ name = "bitwarden-uniffi" version = "0.1.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [features] docs = ["dep:schemars"] # Docs diff --git a/crates/bitwarden-wasm/Cargo.toml b/crates/bitwarden-wasm/Cargo.toml index bd2a064a1..a5242822a 100644 --- a/crates/bitwarden-wasm/Cargo.toml +++ b/crates/bitwarden-wasm/Cargo.toml @@ -2,7 +2,7 @@ name = "bitwarden-wasm" version = "0.1.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [lib] crate-type = ["cdylib"] diff --git a/crates/bitwarden/Cargo.toml b/crates/bitwarden/Cargo.toml index c6f580282..74ce9f6e3 100644 --- a/crates/bitwarden/Cargo.toml +++ b/crates/bitwarden/Cargo.toml @@ -10,7 +10,7 @@ Bitwarden Secrets Manager SDK """ keywords = ["bitwarden", "secrets-manager"] edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [features] default = ["secrets"] diff --git a/crates/bitwarden/README.md b/crates/bitwarden/README.md index abb2b5dd4..0846651eb 100644 --- a/crates/bitwarden/README.md +++ b/crates/bitwarden/README.md @@ -13,7 +13,7 @@ bitwarden = { "*", features = ["secrets"] } ## Minimum Supported Rust Version -Rust **1.57** or higher. +Rust **1.71** or higher. ## Example diff --git a/crates/bw/Cargo.toml b/crates/bw/Cargo.toml index 1943e5ad5..b96b4a5ae 100644 --- a/crates/bw/Cargo.toml +++ b/crates/bw/Cargo.toml @@ -2,7 +2,7 @@ name = "bw" version = "0.0.2" edition = "2021" -rust-version = "1.60" +rust-version = "1.71" authors = ["Bitwarden Inc"] license-file = "LICENSE" repository = "https://github.com/bitwarden/sdk" diff --git a/crates/bws/Cargo.toml b/crates/bws/Cargo.toml index 8acc9f92c..84554e9c1 100644 --- a/crates/bws/Cargo.toml +++ b/crates/bws/Cargo.toml @@ -2,7 +2,7 @@ name = "bws" version = "0.4.0" edition = "2021" -rust-version = "1.60" +rust-version = "1.71" authors = ["Bitwarden Inc"] license-file = "LICENSE" repository = "https://github.com/bitwarden/sdk" diff --git a/crates/sdk-schemas/Cargo.toml b/crates/sdk-schemas/Cargo.toml index 81a9d76ca..dda54e86a 100644 --- a/crates/sdk-schemas/Cargo.toml +++ b/crates/sdk-schemas/Cargo.toml @@ -2,7 +2,7 @@ name = "sdk-schemas" version = "0.1.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [features] internal = [ diff --git a/crates/uniffi-bindgen/Cargo.toml b/crates/uniffi-bindgen/Cargo.toml index e8f6f3f3d..9809eeb72 100644 --- a/crates/uniffi-bindgen/Cargo.toml +++ b/crates/uniffi-bindgen/Cargo.toml @@ -2,7 +2,7 @@ name = "uniffi-bindgen" version = "0.1.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" [[bin]] # This can be whatever name makes sense for your project, but the rest of this tutorial assumes uniffi-bindgen. From 0f7fd1b16119afa8f278b5f8064fb4981238c7f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garci=CC=81a?= Date: Tue, 6 Feb 2024 19:57:50 +0100 Subject: [PATCH 2/4] Fix ambiguous use --- crates/bitwarden-exporters/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/bitwarden-exporters/src/lib.rs b/crates/bitwarden-exporters/src/lib.rs index bb690fbc1..c9a82dece 100644 --- a/crates/bitwarden-exporters/src/lib.rs +++ b/crates/bitwarden-exporters/src/lib.rs @@ -3,7 +3,7 @@ use thiserror::Error; use uuid::Uuid; mod csv; -use csv::export_csv; +use crate::csv::export_csv; mod json; use json::export_json; From 973373aae26121058f438081138bafae2294d065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garci=CC=81a?= Date: Tue, 6 Feb 2024 20:04:36 +0100 Subject: [PATCH 3/4] Update cache key --- .github/workflows/minimum-rust-version.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/minimum-rust-version.yml b/.github/workflows/minimum-rust-version.yml index 8e437f2b8..01b41c746 100644 --- a/.github/workflows/minimum-rust-version.yml +++ b/.github/workflows/minimum-rust-version.yml @@ -40,7 +40,7 @@ jobs: - name: Cache cargo registry uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3 with: - key: dmv-${{ matrix.settings.target }}-cargo-${{ matrix.settings.os }} + key: msrv-${{ matrix.settings.target }}-cargo-${{ matrix.settings.os }} - name: cargo check MSRV run: cargo check --all-features From d67df5db9c9208ba702620a53e9b581656b5ca33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garci=CC=81a?= Date: Mon, 12 Feb 2024 11:23:40 +0100 Subject: [PATCH 4/4] Only check bitwarden and its dependencies --- .github/workflows/minimum-rust-version.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/minimum-rust-version.yml b/.github/workflows/minimum-rust-version.yml index 01b41c746..d3eccf653 100644 --- a/.github/workflows/minimum-rust-version.yml +++ b/.github/workflows/minimum-rust-version.yml @@ -43,4 +43,4 @@ jobs: key: msrv-${{ matrix.settings.target }}-cargo-${{ matrix.settings.os }} - name: cargo check MSRV - run: cargo check --all-features + run: cargo check -p bitwarden --all-features