name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git clone https://github.com/tschk/zkr ../zkr
- uses: dtolnay/rust-toolchain@stable
- run: cargo fmt --check
- run: cargo clippy --all-targets --all-features -- -D warnings
- run: cargo test
- run: cargo test --no-default-features --features providers,builtin-tools,mcp
- run: cargo test --all-features
- run: cargo build --all-features --release
- uses: EmbarkStudios/cargo-deny-action@v2
with:
command: check
- run: |
if cargo tree --no-default-features --features providers,builtin-tools,mcp -i praefectus; then
echo "slim feature set must not pull praefectus" >&2
exit 1
fi
if cargo tree --no-default-features --features providers,builtin-tools,mcp -i fff-search; then
echo "slim feature set must not pull fff-search" >&2
exit 1
fi
msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git clone https://github.com/tschk/zkr ../zkr
- uses: dtolnay/rust-toolchain@1.88
- run: cargo build --no-default-features --features ipc