From 7f87e5e2bca6d0f6b52e8a5b416fbccfe10d86dc Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Tue, 7 Nov 2023 23:23:38 +0100 Subject: [PATCH 1/6] feat: inherit metadata for clap from project --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 042a0f2..6fbda49 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,7 @@ use std::fs::File; use std::io::Write; #[derive(Parser)] -#[clap(version = "0.1.0", author = "Bart van der Braak ")] +#[clap(author, version, about, long_about = None)] struct Opts { #[clap( short, From 8b033eea085a5f5ec53accb59ce2592af0d37ea5 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Tue, 7 Nov 2023 23:23:58 +0100 Subject: [PATCH 2/6] docs: introduce author entry --- Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.toml b/Cargo.toml index fe44a93..138d70f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,7 @@ name = "keyweave" version = "0.1.0" edition = "2021" +authors = ["Bart van der Braak "] [dependencies] azure_identity = "0.17.0" From 609e4fe6da64f22399d8760f1d17700ae85fc7d3 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Tue, 7 Nov 2023 23:24:44 +0100 Subject: [PATCH 3/6] feat: pre-check for git tag and project version --- .github/workflows/release.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f72540d..8e6a152 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,9 +5,22 @@ on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+' - + jobs: + pre-check: + name: Pre-check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: | + if [[ "$(git describe --tags --abbrev=0)" != "v$(grep -m1 -F 'version =' Cargo.toml | cut -d\" -f2)" ]]; then + echo "Error: The git tag does not match the Cargo.toml version." + exit 1 + fi + echo "Success: The git tag matches the Cargo.toml version." + build: + needs: pre-check strategy: matrix: name: From fd1872ca1ccd79d039592cccdf6c0abc72b44a56 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Tue, 7 Nov 2023 23:25:30 +0100 Subject: [PATCH 4/6] feat: workflow with several checks --- .github/workflows/checks.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/checks.yml diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml new file mode 100644 index 0000000..9984c66 --- /dev/null +++ b/.github/workflows/checks.yml @@ -0,0 +1,31 @@ +name: Checks + +on: + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + + - name: Install cargo-audit + run: cargo install cargo-audit + + - name: Format code with rustfmt + run: cargo fmt --all -- --check + + - name: Lint code with clippy + run: cargo clippy --all -- --deny warnings + + - name: Check for known vulnerabilities with cargo-audit + run: cargo audit + + - name: Build project + run: cargo build --all --release + + - name: Run tests + run: cargo test --all From 22487a334baaf44b23a76f143f6256b6414d01f2 Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Tue, 7 Nov 2023 23:28:21 +0100 Subject: [PATCH 5/6] feat: formatting using fmt --- src/main.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6fbda49..79dea17 100644 --- a/src/main.rs +++ b/src/main.rs @@ -39,10 +39,7 @@ async fn fetch_secrets_from_key_vault( filter: Option<&str>, ) -> Result, Box> { let credential = DefaultAzureCredential::default(); - let client = KeyvaultClient::new( - &vault_url, - std::sync::Arc::new(credential), - )?.secret_client(); + let client = KeyvaultClient::new(&vault_url, std::sync::Arc::new(credential))?.secret_client(); let mut secret_values = Vec::new(); let mut secret_pages = client.list_secrets().into_stream(); From 13675f7ff8d79b20e340df7000c7b23c51d20edb Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Tue, 7 Nov 2023 23:53:00 +0100 Subject: [PATCH 6/6] fix: remove needless initialization reference --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 79dea17..10a8149 100644 --- a/src/main.rs +++ b/src/main.rs @@ -39,7 +39,7 @@ async fn fetch_secrets_from_key_vault( filter: Option<&str>, ) -> Result, Box> { let credential = DefaultAzureCredential::default(); - let client = KeyvaultClient::new(&vault_url, std::sync::Arc::new(credential))?.secret_client(); + let client = KeyvaultClient::new(vault_url, std::sync::Arc::new(credential))?.secret_client(); let mut secret_values = Vec::new(); let mut secret_pages = client.list_secrets().into_stream();