name: CI on: [push, pull_request] env: RUSTFLAGS: "-D warnings" jobs: test-matrix: name: test (${{ matrix.features }}) runs-on: ubuntu-latest timeout-minutes: 15 strategy: fail-fast: false matrix: features: - "full" - "light" - "chat,provider-openai" - "chat,provider-openai,tools-mcp" - "multi,provider-openai" - "multi,provider-openai,tools-mcp" - "chat,provider-openai,provider-openai-response" steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: nightly - run: cargo test --no-default-features --features "${{ matrix.features }}" --lib clippy: name: clippy runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: nightly - run: cargo clippy --all-features --lib -- -D warnings format: name: fmt runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable - run: cargo fmt --check examples: name: examples runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: nightly - run: cargo test --features "full"