deepgram 0.14.0

Community Rust SDK for Deepgram's automated speech recognition APIs.
Documentation
name: Release Please

on:
  push:
    branches:
      - main

permissions:
  contents: write
  issues: write
  pull-requests: write

concurrency:
  group: release-please
  cancel-in-progress: false

jobs:
  verify:
    name: Verify release inputs
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: -D warnings
      RUSTDOCFLAGS: -D warnings
      PKG_CONFIG_PATH: /usr/lib/pkgconfig
    steps:
      - uses: actions/checkout@v5
      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: rustfmt, clippy
      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y alsa pkg-config libasound2-dev
      - name: Verify Cargo.lock is up to date
        run: cargo metadata --locked --format-version 1 > /dev/null
      - name: Format
        run: cargo fmt --check --all
      - name: Lint
        run: cargo clippy --all-targets --all-features --locked -- -D warnings
      - name: Test
        run: cargo test --all --all-features --locked
      - name: Build documentation
        run: cargo doc --workspace --all-features --locked
      - name: Verify package
        run: cargo package --locked --no-verify

  release-please:
    runs-on: ubuntu-latest
    needs: verify
    outputs:
      release_created: ${{ steps.release.outputs.release_created }}
      release_sha: ${{ steps.release.outputs.sha }}
    steps:
      - name: Create release
        id: release
        uses: googleapis/release-please-action@v5
        with:
          config-file: .github/release-please-config.json
          manifest-file: .github/.release-please-manifest.json
          target-branch: ${{ github.ref_name }}

  publish:
    name: Publish to crates.io
    runs-on: ubuntu-latest
    needs: release-please
    if: ${{ needs.release-please.outputs.release_created }}
    permissions:
      actions: write
      contents: read
    env:
      RUSTFLAGS: -D warnings
      PKG_CONFIG_PATH: /usr/lib/pkgconfig
    steps:
      - uses: actions/checkout@v5
        with:
          ref: ${{ needs.release-please.outputs.release_sha }}
      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: clippy
      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y alsa pkg-config libasound2-dev
      # `verify` checks the pushed head, but the release is tagged at the
      # release PR's merge commit, which can differ. Re-check that commit.
      - name: Lint release commit
        run: cargo clippy --all-targets --all-features --locked -- -D warnings
      - name: Test release commit
        run: cargo test --all --all-features --locked
      - name: Publish crate
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
        run: cargo publish --locked
      - name: Refresh Context7 documentation
        env:
          GH_TOKEN: ${{ github.token }}
        run: gh workflow run context7.yml