Skip to content

test(ci): isolate custody-test Action summaries from GitHub job summary - #187

Merged
aetherxeg-source merged 2 commits into
mainfrom
fix/r4-ci-step-summary-isolation
Oct 9, 2026
Merged

aetherxeg-source merged 2 commits into
mainfrom
fix/r4-ci-step-summary-isolation

Conversation

@aetherxeg-source

Copy link
Copy Markdown
Contributor

Context

During an approved external-contributor CI run for PR #128, the GitHub job summary displayed five ExecSurface — ERROR reports and one PASS even though every CI step and Rust test passed. Those are the intentional negative and positive cases of r4_action_custody.rs; they were not failures in the PR under review.

Root cause

r4_action_custody.rs::run_action launches action/run.sh as a child process without overriding the inherited GITHUB_STEP_SUMMARY. The Action intentionally appends its report to that path. During GitHub-hosted cargo test, the six fixture runs therefore append five expected ERROR and one expected PASS sections to the unrelated parent job summary.

Focused change

  • Route each fixture's child GITHUB_STEP_SUMMARY to a test-local file.
  • Assert that the child still writes a properly headed Action summary.
  • Preserve verdict/exit/status and existing negative/positive test semantics.
  • Change no production Action, CLI, or policy behavior.

Review gates

  • CI on exact PR head: cargo fmt, strict clippy, all Rust tests, lockfile integrity.
  • Verify that negative tests still pass and that the GitHub job summary contains no synthetic ExecSurface — ERROR blocks.
  • Independent review of scoped diff before merge.

Relevant source: crates/execsurface-cli/tests/r4_action_custody.rs and action/run.sh.

This PR is independent of external contributor PR #128 and does not modify or silently change its evidence or merge qualification.

Preserve PR #187 single-file change, merge current protected main #128 unchanged. Revalidate required checks on updated head.
@aetherxeg-source
aetherxeg-source merged commit 46f1df1 into main Oct 9, 2026
19 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