Repository navigation
chore(vendor): tinytools -> doubled-tool-call-tags (tinyhumansai/tiny… #944
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| rust-sdk: | |
| name: Rust SDK | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| # This job executes repo code (cargo build/test); don't persist the | |
| # token in git config. | |
| persist-credentials: false | |
| # `vendor/tinytools` is a path dependency of this crate, so cargo | |
| # cannot even resolve the manifest without it. Without this the build | |
| # fails at `Updating crates.io index` with "failed to read | |
| # vendor/tinytools/crates/tinytools/Cargo.toml". | |
| submodules: recursive | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: . | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: Clippy all features | |
| run: cargo clippy --workspace --all-targets --all-features -- -D warnings | |
| - name: Build | |
| run: cargo build --workspace --all-targets | |
| - name: Build all features | |
| run: cargo build --workspace --all-targets --all-features | |
| - name: Test | |
| run: cargo test --workspace | |
| - name: Test all features | |
| run: cargo test --workspace --all-features | |
| - name: Test optional features independently | |
| run: | | |
| cargo test --workspace --no-default-features --features sqlite | |
| cargo test --workspace --no-default-features --features tools | |
| cargo test --workspace --no-default-features --features multimodal | |
| - name: Free build artifacts before coverage | |
| run: cargo clean | |
| - name: Coverage gate | |
| uses: taiki-e/install-action@cargo-llvm-cov | |
| - name: Verify line coverage | |
| env: | |
| CARGO_PROFILE_DEV_DEBUG: 0 | |
| CARGO_PROFILE_TEST_DEBUG: 0 | |
| run: >- | |
| cargo llvm-cov --all-features --workspace | |
| --ignore-filename-regex '(^|/)(tests?|examples)/|/test(_.*)?\.rs$' | |
| --fail-under-lines 80 | |
| # TODO: drop `continue-on-error` once the ~160 existing broken | |
| # intra-doc link warnings across the workspace are fixed and this can | |
| # block merges instead of only reporting. | |
| - name: Doc lints | |
| env: | |
| RUSTDOCFLAGS: -D rustdoc::broken_intra_doc_links | |
| run: cargo doc --workspace --no-deps | |
| continue-on-error: true | |
| # TODO: drop `continue-on-error` once the existing unused-dependency | |
| # findings across the workspace are cleaned up and this can block | |
| # merges instead of only reporting. | |
| - name: Unused dependencies | |
| uses: bnjbvr/cargo-machete@main | |
| continue-on-error: true |