From 8a42c89fcabd0ce37b00fad6e602ece20a911258 Mon Sep 17 00:00:00 2001 From: AHMED YOUNIS Date: Fri, 9 Oct 2026 18:52:19 +0300 Subject: [PATCH] test(ci): isolate Action step summaries from parent workflow --- crates/execsurface-cli/tests/r4_action_custody.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/execsurface-cli/tests/r4_action_custody.rs b/crates/execsurface-cli/tests/r4_action_custody.rs index e23a5d3f..837c1283 100644 --- a/crates/execsurface-cli/tests/r4_action_custody.rs +++ b/crates/execsurface-cli/tests/r4_action_custody.rs @@ -64,6 +64,8 @@ fn run_action( expected_policy: Option<&str>, ) -> (std::process::Output, String) { let output_file = dir.join("github-output.txt"); + // Keep child Action summaries in the test fixture, not the parent CI job summary. + let step_summary_file = dir.join("github-step-summary.md"); let runner_temp = dir.join("runner-temp"); fs::create_dir_all(&runner_temp).expect("runner temp"); @@ -76,6 +78,7 @@ fn run_action( .env("EXECSURFACE_POLICY", policy) .env("EXECSURFACE_REQUIRE_CUSTODY", require_custody) .env("GITHUB_OUTPUT", &output_file) + .env("GITHUB_STEP_SUMMARY", &step_summary_file) .env("RUNNER_TEMP", &runner_temp); if let Some(value) = expected_baseline { @@ -87,6 +90,11 @@ fn run_action( let output = cmd.output().expect("run action script"); let github_output = fs::read_to_string(&output_file).expect("github output"); + let step_summary = fs::read_to_string(&step_summary_file).expect("isolated action summary"); + assert!( + step_summary.starts_with("# ExecSurface — "), + "Action summary should be emitted only to the test-local summary path" + ); (output, github_output) }