This is an automated email from the ASF dual-hosted git repository.
hubcio pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new 309662d33 fix(ci): run integration tests when a binary they launch
changes (#4131)
309662d33 is described below
commit 309662d338c14c16ecdf0ce61e722a9b8abad48e
Author: Hubert Gruszecki <[email protected]>
AuthorDate: Sat Sep 12 14:53:56 2026 +0200
fix(ci): run integration tests when a binary they launch changes (#4131)
---
.github/actions/rust/pre-merge/action.yml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/.github/actions/rust/pre-merge/action.yml
b/.github/actions/rust/pre-merge/action.yml
index f02712e0f..8b3413b79 100644
--- a/.github/actions/rust/pre-merge/action.yml
+++ b/.github/actions/rust/pre-merge/action.yml
@@ -123,6 +123,21 @@ runs:
MODE=$(echo "$PLAN_JSON" | jq -r '.scope.mode')
if [[ "$MODE" == "crates" ]]; then
CRATES=$(echo "$PLAN_JSON" | jq -r '.scope.crates[]')
+ # `integration` launches the binaries of these packages through
+ # `Command::cargo_bin`, an edge cargo cannot record. The DAG
selects
+ # them when their code or a crate they link (e.g. `partitions`)
+ # changes, but it does not select `integration`, so add it here.
+ # Keep this list in sync with the `cargo_bin` calls in
core/integration.
+ SPAWNED_BINARY_PACKAGES=(server iggy-connectors iggy-mcp
iggy-bench iggy-cli)
+ if ! grep -qx integration <<< "$CRATES"; then
+ for package in "${SPAWNED_BINARY_PACKAGES[@]}"; do
+ if grep -qx "$package" <<< "$CRATES"; then
+ echo "::notice::Testing integration because it launches the
binary of affected package ${package}"
+ CRATES=$(printf '%s\nintegration\n' "$CRATES")
+ break
+ fi
+ done
+ fi
# `iggy_connector_<name>_{sink,source}` is exercised by
# `integration::connectors::<name>`, but the plugin reaches the
# runtime through dlopen, so cargo records no edge and the DAG
drops