chore(ci): 创建 GitHub Actions CI 测试矩阵

- 6 个 feature 组合并行测试(full/light/chat/chat+mcp/multi/multi+mcp)
- clippy --all-features 零警告检查
- cargo fmt --check 格式检查(stable toolchain)
- examples 编译验证(cargo test --features full)
- RUSTFLAGS=-D warnings 强制零警告
- 每个 job 设置 timeout-minutes 兜底
This commit is contained in:
徐涛
2026-07-19 08:10:53 +08:00
parent 61e6d219dd
commit bc4eac72e1
+61
View File
@@ -0,0 +1,61 @@
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"
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"