Skip to content

build: exclude the whole deps/ directory from the cargo workspace#2

Merged
acking-you merged 2 commits into
masterfrom
ci/exclude-vendored-deps-from-tests
May 30, 2026
Merged

build: exclude the whole deps/ directory from the cargo workspace#2
acking-you merged 2 commits into
masterfrom
ci/exclude-vendored-deps-from-tests

Conversation

@acking-you
Copy link
Copy Markdown
Owner

@acking-you acking-you commented May 30, 2026

Summary

cargo test/clippy/fmt --workspace descend into the vendored forks under
deps/, which are implicit path-dependency workspace members. Two of them
break or don't belong in this project's checks:

  • ffmpeg-sidecar fails all its tests with os error 2 because they spawn the
    ffmpeg binary, which is not installed on CI runners.
  • the pingora-* crates are a self-contained upstream fork (their own nested
    workspace), not ours to lint/format/test.

What changed

Exclude the whole deps/ directory from the workspace in the root
Cargo.toml, extending the existing deps/lance + deps/lancedb exclusions:

exclude = ["deps"]

This is more complete than excluding individual crates from a single CI
command: every --workspace / --all invocation (test, clippy, fmt — CI and
local) now skips deps/ uniformly. First-party crates still depend on the
forks via path deps (gateway → pingora, shared → lance, ...); excluding a
directory only removes workspace membership, not the dependency edges.

Cargo.lock is regenerated as a result: 108 packages removed (all
pingora-exclusive dev/build deps + the pingora crates), 0 added, and no
first-party crate's dependency version changed
— the 24 "version-set" shrinks
only drop pingora's old duplicate majors (hyper 0.14, reqwest 0.11,
rustls 0.21, ...). cargo metadata --locked passes.

First step of an incremental llm-access* refactor: a green, trustworthy CI
baseline before the refactor PRs.

The pull_request-gated `test` job runs `cargo test --workspace`, which
includes the vendored forks under deps/ as implicit path-dep workspace
members. `ffmpeg-sidecar` fails all its tests with os error 2 because they
spawn the `ffmpeg` binary, which is not installed on the runner; the
`pingora-*` crates are a self-contained upstream fork.

Exclude both from the test run (mirrors the existing deps/lance and
deps/lancedb workspace exclusions). First-party crates are unaffected;
`staticflow-pingora-gateway` (our gateway crate) does not match the
`pingora*` glob and is still tested.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

Supersedes the per-command CI `--exclude` from the previous commit (reverted
here). Excluding `deps` in the root workspace manifest makes
`cargo test/clippy/fmt --workspace` all skip the vendored forks uniformly,
not just the single CI test command.

This extends the existing deps/lance + deps/lancedb exclusions to the whole
deps/ dir: ffmpeg-sidecar spawns the ffmpeg binary (absent on the runner) and
the pingora-* crates are a self-contained upstream fork. First-party crates
still depend on them via path deps (gateway -> pingora, shared -> lance, ...).

Cargo.lock regenerated: 108 packages removed (all pingora-exclusive dev/build
deps + the pingora crates), 0 added, and no first-party crate's dependency
version changed - the 24 'version-set' shrinks only drop pingora's old
duplicate majors (hyper 0.14, reqwest 0.11, rustls 0.21, ...). cargo metadata
--locked passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@acking-you acking-you changed the title ci: exclude vendored deps/ forks from workspace test run build: exclude the whole deps/ directory from the cargo workspace May 30, 2026
@acking-you acking-you merged commit 436e05f into master May 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant