Repository navigation
chore(vendor): bump tinyinference to media generation crates #1039
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: | | |
| # Each feature set links a distinct workspace graph. Clearing the | |
| # preceding graph keeps the runner's linker working set bounded and | |
| # makes these genuinely independent builds. | |
| cargo clean | |
| cargo test --workspace --no-default-features --features sqlite | |
| cargo clean | |
| cargo test --workspace --no-default-features --features tools | |
| cargo clean | |
| 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 |