llm 1.3.8

A Rust library unifying multiple LLM backends.
Documentation
name: Tests
on:
  workflow_dispatch:
  workflow_call:
  push:
    branches: [ main ]
  # pull_request:
  pull_request_target:
    types: [labeled]

# NOTE: sending requests to LLM providers in tests might lead to potential abuses
jobs:
  test:
    name: ✅ Test and build
    runs-on: ubuntu-latest
    # if: github.event_name != 'pull_request_target'
    steps:
      - uses: actions/checkout@v4
      - name: Install ALSA development libraries
        run: sudo apt-get update && sudo apt-get install -y libasound2-dev
      - run: rustup update
      # - run: cargo fmt -- --check
      - run: cargo clippy --all --all-targets --all-features
      - run: cargo test
      - run: cargo build --release

      - name: Run tests
        if: (github.event_name == 'pull_request_target' && github.event.label.name == 'test') || github.event_name == 'push'
        run: cargo test
        env:
          MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
          GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
          GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
          OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
          XAI_API_KEY: ${{ secrets.XAI_API_KEY }}
          # OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          # ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
      - run: cargo build --release