🤖 fix: isolate workflow action exec diagnostics#3469
Merged
Conversation
Prevent ctx.exec command output and descendant-cleanup warnings from polluting workflow action stdout/stderr while keeping command output available on ctx.exec results.
---
_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `614410{MUX_COSTS_USD:-0}`_
<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=7.31 -->
Add deterministic coverage for noisy ps cleanup and remove the accidental duplicate scratch workflow ignore rule found by deep review.
---
_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `699312{MUX_COSTS_USD:-0}`_
<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=7.31 -->
Member
Author
|
@codex review Please review the workflow action diagnostics fix. |
|
Codex Review: Didn't find any major issues. Nice work! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix workflow action diagnostics so output produced by
ctx.execcommands stays on the returned command result instead of being echoed into the action-levelstdout/stderrfields. Also suppress stderr from the internalpscleanup probe so host warnings do not pollute action diagnostics.Background
A workflow run showed built-in Git actions with confusing action diagnostics:
stdoutcontained concatenated internal Git command output andstderrcontained hostpswarnings such asbad data in /proc/uptime. The structuredoutputfields were usable, but the action-level diagnostics were misleading.Implementation
ctx.execchild stdout/stderr chunks to the action child process stdout/stderr while still draining and returning those streams fromctx.exec.psprobe with stderr ignored.pscleanup warning suppression.git.diffpatch output fromgit.diffStatstat output.Deep Review
Ran
deep-review-workflowafter the initial commit. It identified two actionable findings, both addressed:psstderr..gitignoreblock.Workflow run:
wfr_4254a7721b3f70f4.Validation
bun test src/node/services/workflows/WorkflowActionRunner.test.ts --timeout 30000 --test-name-pattern "cleanup ps warnings|ctx.exec output"bun test src/node/services/workflows/WorkflowRunner.test.ts --timeout 30000 --test-name-pattern "runs built-in Git workflow actions"git check-ignore -v --no-indexcheck for.mux/workflows/.scratch/.gitignorevs a scratch draft filegit diff --check origin/main..HEAD && git diff --checkmake static-checkRisks
Low-to-medium. The production change affects workflow action diagnostics only: command streams are still drained to avoid backpressure and still returned through
ctx.exec. Users who depended on implicit live echoing fromctx.execinto action stdout/stderr would no longer see those chunks there; actions can still log explicitly withconsole.logwhen desired.Generated with
mux• Model:openai:gpt-5.5• Thinking:xhigh• Cost:702472{MUX_COSTS_USD:-0}