lean-embed 0.1.0

Lean, provider-agnostic text-embeddings client for OpenAI, Gemini, Voyage, and Ollama, on rustls + ring (no OpenSSL, no aws-lc).
Documentation
name: CI

# Thin caller over jhheider/rust-ci. lean-embed is a PRIVATE repo, so CI routes
# to the self-hosted arm64 runner (studio-lean-embed). If this repo ever goes
# public, revert to the default hosted 3-OS matrix (drop os/runs-on, add
# `coverage: true`) and remove the gha-runner service.
on:
  push:
    branches: [main]
    paths-ignore: ["**.md", "LICENSE*", ".gitignore"]
  pull_request:
    paths-ignore: ["**.md", "LICENSE*", ".gitignore"]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  ci:
    uses: jhheider/rust-ci/.github/workflows/ci.yml@v1
    with:
      os: '["self-hosted"]'
      runs-on: self-hosted
    secrets: inherit

  # The crate's whole reason to exist: enforce the lean-deps commitment so a
  # routine `cargo update` can't quietly pull in aws-lc-sys / openssl-sys
  # (reqwest's default rustls provider is aws-lc-rs - we keep it out).
  lean:
    name: Lean deps (no aws-lc / openssl)
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@stable
      - name: Assert no aws-lc-sys / openssl-sys in the dependency tree
        run: |
          set -euo pipefail
          for crate in aws-lc-sys openssl-sys; do
            if cargo tree -i "$crate" >/dev/null 2>&1; then
              echo "::error::$crate is in the dependency tree - the lean commitment is broken"
              cargo tree -i "$crate" || true
              exit 1
            fi
          done
          echo "lean: no aws-lc-sys / openssl-sys"