krishvishal opened a new pull request, #3113:
URL: https://github.com/apache/iggy/pull/3113
## Summary
- Fix DAG-scoped CI builds missing binary targets needed by integration
tests, causing all CLI/server tests to panic with `CARGO_BIN_EXE_<name> is
unset`
- Fix `cargo test` fallback path that would run unrelated tests from binary
packages when nextest is unavailable
## Problem
The DAG-based test scoping (#3095) passes `-p` flags to both `cargo build`
and `cargo nextest run`, restricting CI to only affected crates. When only
`core/integration/` files change, cargo-rail identifies 1 affected crate
(`integration`), so CI runs:
1. `cargo build --locked -p integration`: builds the integration library and
its dependencies as libraries, but does not compile binary targets from other
packages.
2. `cargo nextest run -E "package(integration)"`: runs integration tests
that call `Command::cargo_bin("iggy")` / `Command::cargo_bin("iggy-server")`,
which panics because `CARGO_BIN_EXE_iggy` / `CARGO_BIN_EXE_iggy-server` are
unset.
The `integration` crate depends on `iggy-cli` as a library, but its tests
invoke the `iggy` binary at runtime via `assert_cmd`. The binary target is a
separate compilation unit that isn't produced by `cargo build -p integration`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]