akv-cli 0.6.1

The Azure Key Vault CLI (unofficial) can read secrets from Key Vault, securely pass secrets to other commands or inject them into configuration files, encrypt and decrypt secrets, and managed keys and secrets in Key Vault.
Documentation
name: ci

on:
  pull_request:
  push:
    branches:
    - main
  workflow_call:
    inputs:
      release:
        description: Whether this is running as part of a release workflow.
        required: false
        type: boolean
        default: false

defaults:
  run:
    shell: bash

env:
  CARGO_INCREMENTAL: 0
  RUSTFLAGS: -Dwarnings

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
        - macos-latest
        - ubuntu-latest
        - windows-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v4
    - name: Cache
      uses: actions/cache@v4
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('**/Cargo.lock') }}
    - name: Set up toolchain
      run: rustup install
    - name: Install openssl (Windows)
      if: runner.os == 'Windows'
      run: |
        echo "OPENSSL_DIR=C:\Program Files\OpenSSL" >> $GITHUB_ENV
        echo "OPENSSL_LIB_DIR=C:\Program Files\OpenSSL\lib\VC\x64\MTd" >> $GITHUB_ENV
    - name: Test
      run: cargo test --all-features --workspace

  analyze:
    runs-on: ubuntu-latest
    if: ${{ !inputs.release || github.event_name != 'workflow_call' }}
    steps:
    - name: Checkout
      uses: actions/checkout@v4
    - name: Cache
      uses: actions/cache@v4
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
    - name: Set up toolchain
      run: rustup install
    - name: Check formatting
      run: cargo fmt --all -- --check
    - name: Lint
      run: cargo clippy --all-features --all-targets --no-deps --workspace
    - name: Check spelling
      uses: streetsidesoftware/cspell-action@v6
      with:
        config: .cspell.json
    - name: Build documentation
      run: cargo doc --all-features --no-deps --workspace