From 4f536c810e828389f3ca567d2ad790fa2004af0e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2026 18:24:39 +0000 Subject: [PATCH 1/2] fix: exclude cancelled create_discussion results from error export When a code-push operation (create_pull_request / push_to_pull_request_branch) fails, all subsequent non-add_comment messages are cancelled. This cancellation was already correctly excluded from the general failure count (line 1136 uses was missing the same guard. The result: a cancelled discussion appeared in the failure issue as: 'Discussion "..." in unknown: Unknown error' Both values were fallbacks because: - message?.repo is not set on agent-output discussion items (repo comes from the handler config, not the agent), so it fell back to 'unknown' - r.error is not set on cancelled results (only r.reason is), so it fell back to 'Unknown error' The root failure (protected-file PR block) was already reported; the cancelled-discussion entry was just noise that confused readers. Fixes: discussions are no longer reported as independent errors. 2. Use r.error || r.reason as the error message (covers non-cancelled cases where only reason is set). 3. Fall back to process.env.GITHUB_REPOSITORY for repo when message.repo is absent. Closes #27185 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- actions/setup/js/safe_output_handler_manager.cjs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/actions/setup/js/safe_output_handler_manager.cjs b/actions/setup/js/safe_output_handler_manager.cjs index 52bfc6417d..06e34fb0cd 100644 --- a/actions/setup/js/safe_output_handler_manager.cjs +++ b/actions/setup/js/safe_output_handler_manager.cjs @@ -1241,18 +1241,22 @@ async function main() { } // Export create_discussion errors for conclusion job + // Exclude cancelled results (cancelled == the discussion was skipped because a code-push + // operation failed earlier in the same run; that failure is already reported separately). const createDiscussionErrors = processingResult.results - .filter(r => r.type === "create_discussion" && !r.success && !r.deferred && !r.skipped) + .filter(r => r.type === "create_discussion" && !r.success && !r.deferred && !r.skipped && !r.cancelled) .map((r, index) => { const message = agentOutput.items[r.messageIndex]; const title = message?.title || "Discussion"; - const repo = message?.repo || "unknown"; - const errorMsg = r.error || "Unknown error"; + const repo = message?.repo || process.env.GITHUB_REPOSITORY || "unknown"; + const errorMsg = r.error || r.reason || "Unknown error"; return `discussion:${index}:${repo}:${title}:${errorMsg}`; }) .join("\n"); - const createDiscussionErrorCount = processingResult.results.filter(r => r.type === "create_discussion" && !r.success && !r.deferred && !r.skipped).length; + const createDiscussionErrorCount = processingResult.results.filter( + r => r.type === "create_discussion" && !r.success && !r.deferred && !r.skipped && !r.cancelled, + ).length; core.setOutput("create_discussion_errors", createDiscussionErrors); core.setOutput("create_discussion_error_count", createDiscussionErrorCount.toString()); From f1d7e1f62078fc4f8c0160f8e1e57ecf31a8c7dc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 19 Apr 2026 19:03:04 +0000 Subject: [PATCH 2/2] fix: apply prettier formatting for create_discussion error count filter Agent-Logs-Url: https://github.com/github/gh-aw/sessions/cf41eae8-4372-420a-93db-13a1ea291ce7 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- actions/setup/js/safe_output_handler_manager.cjs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/actions/setup/js/safe_output_handler_manager.cjs b/actions/setup/js/safe_output_handler_manager.cjs index 06e34fb0cd..189f4dc010 100644 --- a/actions/setup/js/safe_output_handler_manager.cjs +++ b/actions/setup/js/safe_output_handler_manager.cjs @@ -1254,9 +1254,7 @@ async function main() { }) .join("\n"); - const createDiscussionErrorCount = processingResult.results.filter( - r => r.type === "create_discussion" && !r.success && !r.deferred && !r.skipped && !r.cancelled, - ).length; + const createDiscussionErrorCount = processingResult.results.filter(r => r.type === "create_discussion" && !r.success && !r.deferred && !r.skipped && !r.cancelled).length; core.setOutput("create_discussion_errors", createDiscussionErrors); core.setOutput("create_discussion_error_count", createDiscussionErrorCount.toString());