From 1725ecf035120554a7a26befb2b3ca81af5cc224 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 6 Dec 2025 13:50:43 +0000 Subject: [PATCH 1/6] Initial plan From d289e056b4a480a10863f5147f53aff9625ef4db Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 6 Dec 2025 14:06:47 +0000 Subject: [PATCH 2/6] Add detection-failure message support and wire detection conclusion to conclusion job Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/ai-triage-campaign.lock.yml | 22 +++++++++++++- .github/workflows/archie.lock.yml | 30 ++++++++++++++++++- .github/workflows/artifacts-summary.lock.yml | 22 +++++++++++++- .github/workflows/audit-workflows.lock.yml | 22 +++++++++++++- .github/workflows/blog-auditor.lock.yml | 22 +++++++++++++- .github/workflows/brave.lock.yml | 30 ++++++++++++++++++- .../breaking-change-checker.lock.yml | 22 +++++++++++++- .github/workflows/changeset.lock.yml | 30 ++++++++++++++++++- .github/workflows/ci-doctor.lock.yml | 22 +++++++++++++- .../cli-consistency-checker.lock.yml | 22 +++++++++++++- .../workflows/cli-version-checker.lock.yml | 22 +++++++++++++- .github/workflows/cloclo.lock.yml | 30 ++++++++++++++++++- .../workflows/close-old-discussions.lock.yml | 22 +++++++++++++- .../commit-changes-analyzer.lock.yml | 22 +++++++++++++- .../workflows/copilot-agent-analysis.lock.yml | 22 +++++++++++++- .../copilot-pr-merged-report.lock.yml | 22 +++++++++++++- .../copilot-pr-nlp-analysis.lock.yml | 22 +++++++++++++- .../copilot-pr-prompt-analysis.lock.yml | 22 +++++++++++++- .../copilot-session-insights.lock.yml | 22 +++++++++++++- .github/workflows/craft.lock.yml | 30 ++++++++++++++++++- .../daily-assign-issue-to-user.lock.yml | 22 +++++++++++++- .github/workflows/daily-code-metrics.lock.yml | 22 +++++++++++++- .../daily-copilot-token-report.lock.yml | 22 +++++++++++++- .github/workflows/daily-doc-updater.lock.yml | 22 +++++++++++++- .github/workflows/daily-fact.lock.yml | 22 +++++++++++++- .github/workflows/daily-file-diet.lock.yml | 22 +++++++++++++- .../workflows/daily-firewall-report.lock.yml | 22 +++++++++++++- .../workflows/daily-issues-report.lock.yml | 22 +++++++++++++- .../daily-malicious-code-scan.lock.yml | 19 +++++++++++- .../daily-multi-device-docs-tester.lock.yml | 22 +++++++++++++- .github/workflows/daily-news.lock.yml | 22 +++++++++++++- .../daily-performance-summary.lock.yml | 22 +++++++++++++- .../workflows/daily-repo-chronicle.lock.yml | 22 +++++++++++++- .github/workflows/daily-team-status.lock.yml | 22 +++++++++++++- .../workflows/daily-workflow-updater.lock.yml | 22 +++++++++++++- .github/workflows/deep-report.lock.yml | 22 +++++++++++++- .../workflows/dependabot-go-checker.lock.yml | 22 +++++++++++++- .github/workflows/dev-hawk.lock.yml | 22 +++++++++++++- .../developer-docs-consolidator.lock.yml | 22 +++++++++++++- .github/workflows/dictation-prompt.lock.yml | 22 +++++++++++++- .github/workflows/docs-noob-tester.lock.yml | 22 +++++++++++++- .../duplicate-code-detector.lock.yml | 22 +++++++++++++- .../example-workflow-analyzer.lock.yml | 22 +++++++++++++- .../github-mcp-structural-analysis.lock.yml | 22 +++++++++++++- .../github-mcp-tools-report.lock.yml | 22 +++++++++++++- .../workflows/glossary-maintainer.lock.yml | 22 +++++++++++++- .github/workflows/go-fan.lock.yml | 22 +++++++++++++- .github/workflows/go-logger.lock.yml | 22 +++++++++++++- .../workflows/go-pattern-detector.lock.yml | 22 +++++++++++++- .github/workflows/grumpy-reviewer.lock.yml | 30 ++++++++++++++++++- .../workflows/instructions-janitor.lock.yml | 22 +++++++++++++- .github/workflows/issue-arborist.lock.yml | 22 +++++++++++++- .github/workflows/issue-classifier.lock.yml | 30 ++++++++++++++++++- .github/workflows/issue-monster.lock.yml | 22 +++++++++++++- .github/workflows/issue-triage-agent.lock.yml | 22 +++++++++++++- .github/workflows/lockfile-stats.lock.yml | 22 +++++++++++++- .github/workflows/mcp-inspector.lock.yml | 22 +++++++++++++- .github/workflows/mergefest.lock.yml | 30 ++++++++++++++++++- .../workflows/notion-issue-summary.lock.yml | 22 +++++++++++++- .github/workflows/org-health-report.lock.yml | 22 +++++++++++++- .github/workflows/pdf-summary.lock.yml | 30 ++++++++++++++++++- .github/workflows/plan.lock.yml | 30 ++++++++++++++++++- .github/workflows/poem-bot.lock.yml | 30 ++++++++++++++++++- .../workflows/pr-nitpick-reviewer.lock.yml | 30 ++++++++++++++++++- .../prompt-clustering-analysis.lock.yml | 22 +++++++++++++- .github/workflows/python-data-charts.lock.yml | 22 +++++++++++++- .github/workflows/q.lock.yml | 30 ++++++++++++++++++- .github/workflows/release.lock.yml | 22 +++++++++++++- .github/workflows/repo-tree-map.lock.yml | 22 +++++++++++++- .../repository-quality-improver.lock.yml | 22 +++++++++++++- .github/workflows/research.lock.yml | 22 +++++++++++++- .github/workflows/safe-output-health.lock.yml | 22 +++++++++++++- .../schema-consistency-checker.lock.yml | 22 +++++++++++++- .github/workflows/scout.lock.yml | 30 ++++++++++++++++++- .github/workflows/security-fix-pr.lock.yml | 22 +++++++++++++- .../semantic-function-refactor.lock.yml | 22 +++++++++++++- .github/workflows/smoke-claude.lock.yml | 30 ++++++++++++++++++- .github/workflows/smoke-codex.lock.yml | 30 ++++++++++++++++++- .../smoke-copilot-no-firewall.lock.yml | 30 ++++++++++++++++++- .../smoke-copilot-playwright.lock.yml | 30 ++++++++++++++++++- .github/workflows/smoke-copilot.lock.yml | 30 ++++++++++++++++++- .github/workflows/smoke-detector.lock.yml | 30 ++++++++++++++++++- .github/workflows/smoke-srt.lock.yml | 22 +++++++++++++- .../workflows/stale-repo-identifier.lock.yml | 22 +++++++++++++- .../workflows/static-analysis-report.lock.yml | 22 +++++++++++++- .github/workflows/super-linter.lock.yml | 22 +++++++++++++- .../workflows/technical-doc-writer.lock.yml | 22 +++++++++++++- .../workflows/test-python-safe-input.lock.yml | 22 +++++++++++++- .github/workflows/tidy.lock.yml | 30 ++++++++++++++++++- .github/workflows/typist.lock.yml | 22 +++++++++++++- .github/workflows/unbloat-docs.lock.yml | 30 ++++++++++++++++++- .github/workflows/video-analyzer.lock.yml | 22 +++++++++++++- .../workflows/weekly-issue-summary.lock.yml | 22 +++++++++++++- pkg/parser/schemas/main_workflow_schema.json | 8 +++++ pkg/workflow/compiler_types.go | 1 + pkg/workflow/js/messages_run_status.cjs | 27 +++++++++++++++++ pkg/workflow/js/notify_comment_error.cjs | 15 ++++++++-- pkg/workflow/notify_comment.go | 12 ++++++++ 98 files changed, 2187 insertions(+), 95 deletions(-) diff --git a/.github/workflows/ai-triage-campaign.lock.yml b/.github/workflows/ai-triage-campaign.lock.yml index 69206c46d8a..abbc073e669 100644 --- a/.github/workflows/ai-triage-campaign.lock.yml +++ b/.github/workflows/ai-triage-campaign.lock.yml @@ -74,6 +74,7 @@ # agent --> update_project # assign_to_agent --> conclusion # detection --> assign_to_agent +# detection --> conclusion # detection --> update_project # update_project --> conclusion # ``` @@ -5477,6 +5478,7 @@ jobs: - activation - agent - assign_to_agent + - detection - update_project if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -5725,6 +5727,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "AI Triage Campaign" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5826,17 +5829,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5871,7 +5886,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml index d1d5bc60338..64a673bc388 100644 --- a/.github/workflows/archie.lock.yml +++ b/.github/workflows/archie.lock.yml @@ -70,6 +70,7 @@ # agent --> conclusion # agent --> detection # detection --> add_comment +# detection --> conclusion # pre_activation --> activation # ``` # @@ -840,6 +841,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6583,6 +6592,7 @@ jobs: - activation - add_comment - agent + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6830,6 +6840,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Archie" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 📊 *Diagram rendered by [{workflow_name}]({run_url})*\",\"runStarted\":\"📐 Archie here! [{workflow_name}]({run_url}) is sketching the architecture on this {event_type}...\",\"runSuccess\":\"🎨 Blueprint complete! [{workflow_name}]({run_url}) has visualized the connections. The architecture speaks for itself! ✅\",\"runFailure\":\"📐 Drafting interrupted! [{workflow_name}]({run_url}) {status}. The diagram remains incomplete...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6932,17 +6943,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6977,7 +7000,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml index c965205b4e5..3d936e3d2b4 100644 --- a/.github/workflows/artifacts-summary.lock.yml +++ b/.github/workflows/artifacts-summary.lock.yml @@ -72,6 +72,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5076,6 +5077,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5335,6 +5337,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Artifacts Summary" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ steps.app-token.outputs.token }} script: | @@ -5436,17 +5439,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5481,7 +5496,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index 9c0625bc85a..ebd847e7f73 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -79,6 +79,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -5849,6 +5850,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6100,6 +6102,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Agentic Workflow Audit Agent" GH_AW_TRACKER_ID: "audit-workflows-daily" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6201,17 +6204,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6246,7 +6261,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index fd139e96687..3a4bd6b5fa6 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -82,6 +82,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -4966,6 +4967,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5216,6 +5218,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Blog Auditor" GH_AW_TRACKER_ID: "blog-auditor-weekly" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5317,17 +5320,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5362,7 +5377,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml index 797fe3efa93..bfd31d2d8a7 100644 --- a/.github/workflows/brave.lock.yml +++ b/.github/workflows/brave.lock.yml @@ -66,6 +66,7 @@ # agent --> conclusion # agent --> detection # detection --> add_comment +# detection --> conclusion # pre_activation --> activation # ``` # @@ -737,6 +738,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6375,6 +6384,7 @@ jobs: - activation - add_comment - agent + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6622,6 +6632,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Brave Web Search Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🦁 *Search results brought to you by [{workflow_name}]({run_url})*\",\"runStarted\":\"🔍 Brave Search activated! [{workflow_name}]({run_url}) is venturing into the web on this {event_type}...\",\"runSuccess\":\"🦁 Mission accomplished! [{workflow_name}]({run_url}) has returned with the findings. Knowledge acquired! 🏆\",\"runFailure\":\"🔍 Search interrupted! [{workflow_name}]({run_url}) {status}. The web remains unexplored...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6724,17 +6735,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6769,7 +6792,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/breaking-change-checker.lock.yml b/.github/workflows/breaking-change-checker.lock.yml index 6dad089dca3..9e67354bad3 100644 --- a/.github/workflows/breaking-change-checker.lock.yml +++ b/.github/workflows/breaking-change-checker.lock.yml @@ -72,6 +72,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -5156,6 +5157,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5406,6 +5408,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Breaking Change Checker" GH_AW_TRACKER_ID: "breaking-change-checker" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e ⚠️ *Compatibility report by [{workflow_name}]({run_url})*\",\"runStarted\":\"🔬 Breaking Change Checker online! [{workflow_name}]({run_url}) is analyzing API compatibility on this {event_type}...\",\"runSuccess\":\"✅ Analysis complete! [{workflow_name}]({run_url}) has reviewed all changes. Compatibility verdict delivered! 📋\",\"runFailure\":\"🔬 Analysis interrupted! [{workflow_name}]({run_url}) {status}. Compatibility status unknown...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -5508,17 +5511,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5553,7 +5568,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/changeset.lock.yml b/.github/workflows/changeset.lock.yml index c9bec482cff..d86e4a207e1 100644 --- a/.github/workflows/changeset.lock.yml +++ b/.github/workflows/changeset.lock.yml @@ -84,6 +84,7 @@ # agent --> detection # agent --> push_to_pull_request_branch # agent --> update_pull_request +# detection --> conclusion # detection --> push_to_pull_request_branch # detection --> update_pull_request # pre_activation --> activation @@ -881,6 +882,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -5560,6 +5569,7 @@ jobs: needs: - activation - agent + - detection - push_to_pull_request_branch - update_pull_request if: (always()) && (needs.agent.result != 'skipped') @@ -5821,6 +5831,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Changeset Generator" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ steps.app-token.outputs.token }} script: | @@ -5922,17 +5933,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5967,7 +5990,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml index 625567166ef..d96dfe3e770 100644 --- a/.github/workflows/ci-doctor.lock.yml +++ b/.github/workflows/ci-doctor.lock.yml @@ -89,6 +89,7 @@ # create_issue --> add_comment # create_issue --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -5853,6 +5854,7 @@ jobs: - add_comment - agent - create_issue + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6104,6 +6106,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "CI Failure Doctor" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🩺 *Diagnosis provided by [{workflow_name}]({run_url})*\",\"runStarted\":\"🏥 CI Doctor reporting for duty! [{workflow_name}]({run_url}) is examining the patient on this {event_type}...\",\"runSuccess\":\"🩺 Examination complete! [{workflow_name}]({run_url}) has delivered the diagnosis. Prescription issued! 💊\",\"runFailure\":\"🏥 Medical emergency! [{workflow_name}]({run_url}) {status}. Doctor needs assistance...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6206,17 +6209,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6251,7 +6266,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml index fed66553682..e9eb8615202 100644 --- a/.github/workflows/cli-consistency-checker.lock.yml +++ b/.github/workflows/cli-consistency-checker.lock.yml @@ -62,6 +62,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # ``` # @@ -5155,6 +5156,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5402,6 +5404,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "CLI Consistency Checker" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5503,17 +5506,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5548,7 +5563,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 6f0944f936f..cbaef85b663 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -68,6 +68,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # ``` # @@ -4916,6 +4917,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5163,6 +5165,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "CLI Version Checker" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5264,17 +5267,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5309,7 +5324,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index f9d360cd698..d53b3fb73ac 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -87,6 +87,7 @@ # create_pull_request --> add_comment # create_pull_request --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_pull_request # pre_activation --> activation # ``` @@ -939,6 +940,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6387,6 +6396,7 @@ jobs: - add_comment - agent - create_pull_request + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6634,6 +6644,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "/cloclo" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🎤 *Magnifique! Performance by [{workflow_name}]({run_url})*\",\"runStarted\":\"🎵 Comme d'habitude! [{workflow_name}]({run_url}) takes the stage on this {event_type}...\",\"runSuccess\":\"🎤 Bravo! [{workflow_name}]({run_url}) has delivered a stunning performance! Standing ovation! 🌟\",\"runFailure\":\"🎵 Intermission... [{workflow_name}]({run_url}) {status}. The show must go on... eventually!\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6736,17 +6747,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6781,7 +6804,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/close-old-discussions.lock.yml b/.github/workflows/close-old-discussions.lock.yml index 99ce9e2c744..7d2b37fc68d 100644 --- a/.github/workflows/close-old-discussions.lock.yml +++ b/.github/workflows/close-old-discussions.lock.yml @@ -183,6 +183,7 @@ # agent --> detection # close_discussion --> conclusion # detection --> close_discussion +# detection --> conclusion # ``` # # Original Prompt: @@ -5196,6 +5197,7 @@ jobs: - activation - agent - close_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5443,6 +5445,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Close Outdated Discussions" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5544,17 +5547,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5589,7 +5604,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index 86326b01851..24a841032fd 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -71,6 +71,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -4847,6 +4848,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5094,6 +5096,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Commit Changes Analyzer" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5195,17 +5198,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5240,7 +5255,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index 8b9f0e1100a..687c932ada8 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -95,6 +95,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5529,6 +5530,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5776,6 +5778,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Copilot Agent PR Analysis" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5877,17 +5880,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5922,7 +5937,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml index 24ccdbc788c..fe3f4174726 100644 --- a/.github/workflows/copilot-pr-merged-report.lock.yml +++ b/.github/workflows/copilot-pr-merged-report.lock.yml @@ -90,6 +90,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -6421,6 +6422,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6668,6 +6670,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Daily Copilot PR Merged Report" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6769,17 +6772,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6814,7 +6829,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index 9cb6117ad62..866edd22737 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -130,6 +130,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6634,6 +6635,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6882,6 +6884,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Copilot PR Conversation NLP Analysis" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6983,17 +6986,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7028,7 +7043,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index 05a446080d8..7ca9e52bc91 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -87,6 +87,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5716,6 +5717,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5963,6 +5965,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Copilot PR Prompt Pattern Analysis" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6064,17 +6067,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6109,7 +6124,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 9c14c79cc82..545686c530c 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -99,6 +99,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6938,6 +6939,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -7186,6 +7188,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Copilot Session Insights" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -7287,17 +7290,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7332,7 +7347,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml index a28c5866b8d..d764d7e4c16 100644 --- a/.github/workflows/craft.lock.yml +++ b/.github/workflows/craft.lock.yml @@ -74,6 +74,7 @@ # agent --> detection # agent --> push_to_pull_request_branch # detection --> add_comment +# detection --> conclusion # detection --> push_to_pull_request_branch # pre_activation --> activation # push_to_pull_request_branch --> conclusion @@ -895,6 +896,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6728,6 +6737,7 @@ jobs: - activation - add_comment - agent + - detection - push_to_pull_request_branch if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim @@ -6976,6 +6986,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Workflow Craft Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e ⚒️ *Crafted with care by [{workflow_name}]({run_url})*\",\"runStarted\":\"🛠️ Master Crafter at work! [{workflow_name}]({run_url}) is forging a new workflow on this {event_type}...\",\"runSuccess\":\"⚒️ Masterpiece complete! [{workflow_name}]({run_url}) has crafted your workflow. May it serve you well! 🎖️\",\"runFailure\":\"🛠️ Forge cooling down! [{workflow_name}]({run_url}) {status}. The anvil awaits another attempt...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -7078,17 +7089,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7123,7 +7146,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml index dd9be65b082..365b3f9bb61 100644 --- a/.github/workflows/daily-assign-issue-to-user.lock.yml +++ b/.github/workflows/daily-assign-issue-to-user.lock.yml @@ -60,6 +60,7 @@ # assign_to_user --> conclusion # detection --> add_comment # detection --> assign_to_user +# detection --> conclusion # ``` # # Original Prompt: @@ -5990,6 +5991,7 @@ jobs: - add_comment - agent - assign_to_user + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6237,6 +6239,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Auto-Assign Issue" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6338,17 +6341,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6383,7 +6398,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index 0f7d282f05b..2b01fa8b981 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -69,6 +69,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5979,6 +5980,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6229,6 +6231,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Code Metrics and Trend Tracking Agent" GH_AW_TRACKER_ID: "daily-code-metrics" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6330,17 +6333,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6375,7 +6390,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-copilot-token-report.lock.yml b/.github/workflows/daily-copilot-token-report.lock.yml index fb93f914f45..b90fc6932da 100644 --- a/.github/workflows/daily-copilot-token-report.lock.yml +++ b/.github/workflows/daily-copilot-token-report.lock.yml @@ -89,6 +89,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6802,6 +6803,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -7053,6 +7055,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Copilot Token Consumption Report" GH_AW_TRACKER_ID: "daily-copilot-token-report" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -7154,17 +7157,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7199,7 +7214,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index f772e9ff188..c2013d93bf2 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -81,6 +81,7 @@ # agent --> create_pull_request # agent --> detection # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # ``` # @@ -4648,6 +4649,7 @@ jobs: - activation - agent - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4898,6 +4900,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Documentation Updater" GH_AW_TRACKER_ID: "daily-doc-updater" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -4999,17 +5002,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5044,7 +5059,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index 4b0b44320e6..f7a60b4a057 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -75,6 +75,7 @@ # agent --> conclusion # agent --> detection # detection --> add_comment +# detection --> conclusion # ``` # # Original Prompt: @@ -4966,6 +4967,7 @@ jobs: - activation - add_comment - agent + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -5216,6 +5218,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Fact About gh-aw" GH_AW_TRACKER_ID: "daily-fact-thread" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🪶 *Penned with care by [{workflow_name}]({run_url})*\",\"runStarted\":\"📜 Hark! The muse awakens — [{workflow_name}]({run_url}) begins its verse upon this {event_type}...\",\"runSuccess\":\"✨ Lo! [{workflow_name}]({run_url}) hath woven its tale to completion, like a sonnet finding its final rhyme. 🌟\",\"runFailure\":\"🌧️ Alas! [{workflow_name}]({run_url}) {status}, its quill fallen mid-verse. The poem remains unfinished...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -5318,17 +5321,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5363,7 +5378,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml index b39872c5e69..459681bfbc6 100644 --- a/.github/workflows/daily-file-diet.lock.yml +++ b/.github/workflows/daily-file-diet.lock.yml @@ -85,6 +85,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -4907,6 +4908,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5169,6 +5171,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily File Diet" GH_AW_TRACKER_ID: "daily-file-diet" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ steps.app-token.outputs.token }} script: | @@ -5270,17 +5273,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5315,7 +5330,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index ff055a25742..f558bfd30f3 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -86,6 +86,7 @@ # agent --> push_repo_memory # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> push_repo_memory # detection --> upload_assets @@ -6223,6 +6224,7 @@ jobs: - activation - agent - create_discussion + - detection - push_repo_memory - upload_assets if: (always()) && (needs.agent.result != 'skipped') @@ -6475,6 +6477,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Firewall Logs Collector and Reporter" GH_AW_TRACKER_ID: "daily-firewall-report" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6576,17 +6579,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6621,7 +6636,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 016036b6f28..45d0c359d65 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -85,6 +85,7 @@ # close_discussion --> conclusion # create_discussion --> conclusion # detection --> close_discussion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6802,6 +6803,7 @@ jobs: - agent - close_discussion - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -7053,6 +7055,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Issues Report Generator" GH_AW_TRACKER_ID: "daily-issues-report" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -7154,17 +7157,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7199,7 +7214,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-malicious-code-scan.lock.yml b/.github/workflows/daily-malicious-code-scan.lock.yml index a8581a6cbae..696f21a9666 100644 --- a/.github/workflows/daily-malicious-code-scan.lock.yml +++ b/.github/workflows/daily-malicious-code-scan.lock.yml @@ -5742,17 +5742,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5787,7 +5799,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index 23d4fc60453..1346ebcabc8 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -85,6 +85,7 @@ # agent --> detection # agent --> upload_assets # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # detection --> upload_assets # upload_assets --> conclusion @@ -4554,6 +4555,7 @@ jobs: - activation - agent - create_issue + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -4805,6 +4807,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Multi-Device Docs Tester" GH_AW_TRACKER_ID: "daily-multi-device-docs-tester" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -4906,17 +4909,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -4951,7 +4966,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index b6e90bb28b3..4b9b2d09b55 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -270,6 +270,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6691,6 +6692,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6942,6 +6944,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily News" GH_AW_TRACKER_ID: "daily-news-weekday" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -7043,17 +7046,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7088,7 +7103,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index 1764759b5a5..e0e1064413f 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -81,6 +81,7 @@ # close_discussion --> conclusion # create_discussion --> conclusion # detection --> close_discussion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -7696,6 +7697,7 @@ jobs: - agent - close_discussion - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -7947,6 +7949,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Project Performance Summary Generator (Using Safe Inputs)" GH_AW_TRACKER_ID: "daily-performance-summary" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -8048,17 +8051,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -8093,7 +8108,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index e658845f358..5465cbe2af0 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -83,6 +83,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6235,6 +6236,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6486,6 +6488,7 @@ jobs: GH_AW_WORKFLOW_NAME: "The Daily Repository Chronicle" GH_AW_TRACKER_ID: "daily-repo-chronicle" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6587,17 +6590,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6632,7 +6647,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index 51fc753bf31..e005486081f 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -80,6 +80,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # pre_activation --> activation # ``` @@ -4983,6 +4984,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5237,6 +5239,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Team Status" GH_AW_TRACKER_ID: "daily-team-status" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5338,17 +5341,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5383,7 +5398,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index eb64b670abe..8a6868c38e3 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -80,6 +80,7 @@ # agent --> create_pull_request # agent --> detection # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # ``` # @@ -5154,6 +5155,7 @@ jobs: - activation - agent - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5404,6 +5406,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Daily Workflow Updater" GH_AW_TRACKER_ID: "daily-workflow-updater" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5505,17 +5508,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5550,7 +5565,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index 53cb9415d60..368a82abd1f 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -101,6 +101,7 @@ # agent --> push_repo_memory # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> push_repo_memory # detection --> upload_assets @@ -5451,6 +5452,7 @@ jobs: - activation - agent - create_discussion + - detection - push_repo_memory - upload_assets if: (always()) && (needs.agent.result != 'skipped') @@ -5703,6 +5705,7 @@ jobs: GH_AW_WORKFLOW_NAME: "DeepReport - Intelligence Gathering Agent" GH_AW_TRACKER_ID: "deep-report-intel-agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5804,17 +5807,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5849,7 +5864,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml index 774f8811e40..4cb7e4cf1a0 100644 --- a/.github/workflows/dependabot-go-checker.lock.yml +++ b/.github/workflows/dependabot-go-checker.lock.yml @@ -76,6 +76,7 @@ # close_issue --> conclusion # create_issue --> conclusion # detection --> close_issue +# detection --> conclusion # detection --> create_issue # ``` # @@ -5770,6 +5771,7 @@ jobs: - agent - close_issue - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6017,6 +6019,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Dependabot Dependency Checker" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6118,17 +6121,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6163,7 +6178,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index 4791ba22f44..af67f52aaeb 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -71,6 +71,7 @@ # agent --> conclusion # agent --> detection # detection --> add_comment +# detection --> conclusion # pre_activation --> activation # ``` # @@ -5619,6 +5620,7 @@ jobs: - activation - add_comment - agent + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -5866,6 +5868,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Dev Hawk" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🦅 *Observed from above by [{workflow_name}]({run_url})*\",\"runStarted\":\"🦅 Dev Hawk circles the sky! [{workflow_name}]({run_url}) is monitoring this {event_type} from above...\",\"runSuccess\":\"🦅 Hawk eyes report! [{workflow_name}]({run_url}) has completed reconnaissance. Intel delivered! 🎯\",\"runFailure\":\"🦅 Hawk down! [{workflow_name}]({run_url}) {status}. The skies grow quiet...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -5968,17 +5971,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6013,7 +6028,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index 8a500830aa1..38755f3b7d5 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -97,6 +97,7 @@ # agent --> detection # create_discussion --> conclusion # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> create_pull_request # ``` @@ -5735,6 +5736,7 @@ jobs: - agent - create_discussion - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5982,6 +5984,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Developer Documentation Consolidator" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6083,17 +6086,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6128,7 +6143,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index d67c7f1c14d..518eab7028a 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -76,6 +76,7 @@ # agent --> create_pull_request # agent --> detection # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # ``` # @@ -5102,6 +5103,7 @@ jobs: - activation - agent - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5349,6 +5351,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Dictation Prompt Generator" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5450,17 +5453,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5495,7 +5510,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml index 252001d928d..9ab8265d4c2 100644 --- a/.github/workflows/docs-noob-tester.lock.yml +++ b/.github/workflows/docs-noob-tester.lock.yml @@ -70,6 +70,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -5173,6 +5174,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -5421,6 +5423,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Documentation Noob Tester" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5522,17 +5525,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5567,7 +5582,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml index 425b30ee1cf..fdf123eab8e 100644 --- a/.github/workflows/duplicate-code-detector.lock.yml +++ b/.github/workflows/duplicate-code-detector.lock.yml @@ -59,6 +59,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # ``` # @@ -4738,6 +4739,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4985,6 +4987,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Duplicate Code Detector" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5086,17 +5089,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5131,7 +5146,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index dcae3065970..53657ccbb93 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -65,6 +65,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -4423,6 +4424,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4670,6 +4672,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Weekly Workflow Analysis" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -4771,17 +4774,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -4816,7 +4831,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml index db379f028bc..ea38db8759e 100644 --- a/.github/workflows/github-mcp-structural-analysis.lock.yml +++ b/.github/workflows/github-mcp-structural-analysis.lock.yml @@ -77,6 +77,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -5661,6 +5662,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -5909,6 +5911,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "GitHub MCP Structural Analysis" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6010,17 +6013,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6055,7 +6070,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index ceb7dd0b60e..7e263eb780a 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -79,6 +79,7 @@ # agent --> detection # create_discussion --> conclusion # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> create_pull_request # ``` @@ -5442,6 +5443,7 @@ jobs: - agent - create_discussion - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5689,6 +5691,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "GitHub MCP Remote Server Tools Report Generator" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5790,17 +5793,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5835,7 +5850,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 85c254b7c47..76ea3860338 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -90,6 +90,7 @@ # agent --> create_pull_request # agent --> detection # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # ``` # @@ -6129,6 +6130,7 @@ jobs: - activation - agent - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6376,6 +6378,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Glossary Maintainer" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6477,17 +6480,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6522,7 +6537,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml index d736a3ea4da..199bc008239 100644 --- a/.github/workflows/go-fan.lock.yml +++ b/.github/workflows/go-fan.lock.yml @@ -92,6 +92,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5036,6 +5037,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5286,6 +5288,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Go Fan" GH_AW_TRACKER_ID: "go-fan-daily" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5387,17 +5390,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5432,7 +5447,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index c14c7834bb9..bcbb85cba4c 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -92,6 +92,7 @@ # agent --> create_pull_request # agent --> detection # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # ``` # @@ -4877,6 +4878,7 @@ jobs: - activation - agent - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5124,6 +5126,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Go Logger Enhancement" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5225,17 +5228,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5270,7 +5285,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index 42ffed6e1d2..b1b57d8a460 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -104,6 +104,7 @@ # agent --> detection # ast_grep --> agent # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # ``` # @@ -4587,6 +4588,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4834,6 +4836,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Go Pattern Detector" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -4935,17 +4938,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -4980,7 +4995,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml index ea8799fe823..08ac4d841a1 100644 --- a/.github/workflows/grumpy-reviewer.lock.yml +++ b/.github/workflows/grumpy-reviewer.lock.yml @@ -68,6 +68,7 @@ # agent --> detection # create_pr_review_comment --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_pr_review_comment # pre_activation --> activation # ``` @@ -770,6 +771,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6526,6 +6535,7 @@ jobs: - add_comment - agent - create_pr_review_comment + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6773,6 +6783,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Grumpy Code Reviewer 🔥" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 😤 *Reluctantly reviewed by [{workflow_name}]({run_url})*\",\"runStarted\":\"😤 *sigh* [{workflow_name}]({run_url}) is begrudgingly looking at this {event_type}... This better be worth my time.\",\"runSuccess\":\"😤 Fine. [{workflow_name}]({run_url}) finished the review. It wasn't completely terrible. I guess. 🙄\",\"runFailure\":\"😤 Great. [{workflow_name}]({run_url}) {status}. As if my day couldn't get any worse...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6875,17 +6886,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6920,7 +6943,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index 179b334a8ca..a233ddcfe3d 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -79,6 +79,7 @@ # agent --> create_pull_request # agent --> detection # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # ``` # @@ -4642,6 +4643,7 @@ jobs: - activation - agent - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4889,6 +4891,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Instructions Janitor" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -4990,17 +4993,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5035,7 +5050,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml index c67d2c88a7f..5ef338620db 100644 --- a/.github/workflows/issue-arborist.lock.yml +++ b/.github/workflows/issue-arborist.lock.yml @@ -106,6 +106,7 @@ # agent --> detection # agent --> link_sub_issue # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> link_sub_issue # link_sub_issue --> conclusion @@ -4753,6 +4754,7 @@ jobs: - activation - agent - create_discussion + - detection - link_sub_issue if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -5001,6 +5003,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Issue Arborist" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5102,17 +5105,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5147,7 +5162,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/issue-classifier.lock.yml b/.github/workflows/issue-classifier.lock.yml index 3245ce124c6..33dda070be8 100644 --- a/.github/workflows/issue-classifier.lock.yml +++ b/.github/workflows/issue-classifier.lock.yml @@ -62,6 +62,7 @@ # agent --> conclusion # agent --> detection # detection --> add_labels +# detection --> conclusion # pre_activation --> activation # ``` # @@ -663,6 +664,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -4285,6 +4294,7 @@ jobs: - activation - add_labels - agent + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4532,6 +4542,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Issue Classifier" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -4633,17 +4644,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -4678,7 +4701,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml index 87507043389..b05167833a5 100644 --- a/.github/workflows/issue-monster.lock.yml +++ b/.github/workflows/issue-monster.lock.yml @@ -148,6 +148,7 @@ # assign_to_agent --> conclusion # detection --> add_comment # detection --> assign_to_agent +# detection --> conclusion # pre_activation --> activation # pre_activation --> search_issues # search_issues --> activation @@ -6368,6 +6369,7 @@ jobs: - add_comment - agent - assign_to_agent + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6615,6 +6617,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Issue Monster" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🍪 *Om nom nom by [{workflow_name}]({run_url})*\",\"runStarted\":\"🍪 ISSUE! ISSUE! [{workflow_name}]({run_url}) hungry for issues on this {event_type}! Om nom nom...\",\"runSuccess\":\"🍪 YUMMY! [{workflow_name}]({run_url}) ate the issues! That was DELICIOUS! Me want MORE! 😋\",\"runFailure\":\"🍪 Aww... [{workflow_name}]({run_url}) {status}. No cookie for monster today... 😢\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6717,17 +6720,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6762,7 +6777,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml index eb0521ddd88..c39b72d1534 100644 --- a/.github/workflows/issue-triage-agent.lock.yml +++ b/.github/workflows/issue-triage-agent.lock.yml @@ -51,6 +51,7 @@ # agent --> conclusion # agent --> detection # detection --> add_labels +# detection --> conclusion # ``` # # Original Prompt: @@ -5262,6 +5263,7 @@ jobs: - activation - add_labels - agent + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5509,6 +5511,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Issue Triage Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5610,17 +5613,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5655,7 +5670,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index 62e9f290c47..608501f9ea0 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -64,6 +64,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5082,6 +5083,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5329,6 +5331,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Lockfile Statistics Analysis Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5430,17 +5433,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5475,7 +5490,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index ac4836d31b6..df66cfed80a 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -111,6 +111,7 @@ # agent --> notion_add_comment # agent --> post_to_slack_channel # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> notion_add_comment # detection --> post_to_slack_channel @@ -5762,6 +5763,7 @@ jobs: - activation - agent - create_discussion + - detection - notion_add_comment - post_to_slack_channel if: (always()) && (needs.agent.result != 'skipped') @@ -6011,6 +6013,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "MCP Inspector Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6112,17 +6115,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6157,7 +6172,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml index 4cd87232e2c..70b2b7f6c7d 100644 --- a/.github/workflows/mergefest.lock.yml +++ b/.github/workflows/mergefest.lock.yml @@ -91,6 +91,7 @@ # agent --> conclusion # agent --> detection # agent --> push_to_pull_request_branch +# detection --> conclusion # detection --> push_to_pull_request_branch # pre_activation --> activation # push_to_pull_request_branch --> conclusion @@ -592,6 +593,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -5867,6 +5876,7 @@ jobs: needs: - activation - agent + - detection - push_to_pull_request_branch if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6115,6 +6125,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Mergefest" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6216,17 +6227,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6261,7 +6284,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/notion-issue-summary.lock.yml b/.github/workflows/notion-issue-summary.lock.yml index 92faa7301b9..a7dcf358faf 100644 --- a/.github/workflows/notion-issue-summary.lock.yml +++ b/.github/workflows/notion-issue-summary.lock.yml @@ -59,6 +59,7 @@ # agent --> conclusion # agent --> detection # agent --> notion_add_comment +# detection --> conclusion # detection --> notion_add_comment # notion_add_comment --> conclusion # ``` @@ -4764,6 +4765,7 @@ jobs: needs: - activation - agent + - detection - notion_add_comment if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -5012,6 +5014,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Issue Summary to Notion" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5113,17 +5116,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5158,7 +5173,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml index ad7ef1ef3f2..9d48612138c 100644 --- a/.github/workflows/org-health-report.lock.yml +++ b/.github/workflows/org-health-report.lock.yml @@ -84,6 +84,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6630,6 +6631,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6878,6 +6880,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Organization Health Report" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6979,17 +6982,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7024,7 +7039,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml index 8e8f1a86317..5aeaa61f4a2 100644 --- a/.github/workflows/pdf-summary.lock.yml +++ b/.github/workflows/pdf-summary.lock.yml @@ -88,6 +88,7 @@ # agent --> conclusion # agent --> detection # detection --> add_comment +# detection --> conclusion # pre_activation --> activation # ``` # @@ -822,6 +823,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6544,6 +6553,7 @@ jobs: - activation - add_comment - agent + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6791,6 +6801,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Resource Summarizer Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 📄 *Summary compiled by [{workflow_name}]({run_url})*\",\"runStarted\":\"📖 Page by page! [{workflow_name}]({run_url}) is reading through this {event_type}...\",\"runSuccess\":\"📚 TL;DR ready! [{workflow_name}]({run_url}) has distilled the essence. Knowledge condensed! ✨\",\"runFailure\":\"📖 Reading interrupted! [{workflow_name}]({run_url}) {status}. The document remains unsummarized...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6893,17 +6904,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6938,7 +6961,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml index 5df49d5196c..d670ae3382d 100644 --- a/.github/workflows/plan.lock.yml +++ b/.github/workflows/plan.lock.yml @@ -66,6 +66,7 @@ # close_discussion --> conclusion # create_issue --> conclusion # detection --> close_discussion +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -754,6 +755,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6247,6 +6256,7 @@ jobs: - agent - close_discussion - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6494,6 +6504,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Plan Command" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6595,17 +6606,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6640,7 +6663,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index cdb37e6cf9f..8c4b65b4a59 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -216,6 +216,7 @@ # detection --> add_comment # detection --> add_labels # detection --> close_pull_request +# detection --> conclusion # detection --> create_agent_task # detection --> create_discussion # detection --> create_issue @@ -850,6 +851,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -7706,6 +7715,7 @@ jobs: - create_issue - create_pr_review_comment - create_pull_request + - detection - link_sub_issue - push_to_pull_request_branch - update_issue @@ -7957,6 +7967,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Poem Bot - A Creative Agentic Workflow" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🪶 *Verses penned by [{workflow_name}]({run_url})*\",\"runStarted\":\"🎭 Hear ye! The muse stirs! [{workflow_name}]({run_url}) takes quill in hand for this {event_type}...\",\"runSuccess\":\"🪶 The poem is writ! [{workflow_name}]({run_url}) has composed verses most fair. Applause! 👏\",\"runFailure\":\"🎭 Alas! [{workflow_name}]({run_url}) {status}. The muse has fled, leaving verses unsung...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -8059,17 +8070,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -8104,7 +8127,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml index ce9c757b356..6ae3adb3ff5 100644 --- a/.github/workflows/pr-nitpick-reviewer.lock.yml +++ b/.github/workflows/pr-nitpick-reviewer.lock.yml @@ -81,6 +81,7 @@ # create_discussion --> conclusion # create_pr_review_comment --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_discussion # detection --> create_pr_review_comment # pre_activation --> activation @@ -750,6 +751,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6870,6 +6879,7 @@ jobs: - agent - create_discussion - create_pr_review_comment + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -7117,6 +7127,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "PR Nitpick Reviewer 🔍" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🔍 *Meticulously inspected by [{workflow_name}]({run_url})*\",\"runStarted\":\"🔬 Adjusting monocle... [{workflow_name}]({run_url}) is scrutinizing every pixel of this {event_type}...\",\"runSuccess\":\"🔍 Nitpicks catalogued! [{workflow_name}]({run_url}) has documented all the tiny details. Perfection awaits! ✅\",\"runFailure\":\"🔬 Lens cracked! [{workflow_name}]({run_url}) {status}. Some nitpicks remain undetected...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -7219,17 +7230,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7264,7 +7287,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index fecc583c26e..7153b3c3222 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -153,6 +153,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -6291,6 +6292,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6538,6 +6540,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Copilot Agent Prompt Clustering Analysis" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6639,17 +6642,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6684,7 +6699,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index 1b1f3a85209..ee8696b0fa6 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -66,6 +66,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6864,6 +6865,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -7112,6 +7114,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Python Data Visualization Generator" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -7213,17 +7216,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7258,7 +7273,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index e08cc7cd6d5..08d11d47caf 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -91,6 +91,7 @@ # create_pull_request --> add_comment # create_pull_request --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_pull_request # pre_activation --> activation # ``` @@ -1060,6 +1061,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -7132,6 +7141,7 @@ jobs: - add_comment - agent - create_pull_request + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -7379,6 +7389,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Q" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🎩 *Equipped by [{workflow_name}]({run_url})*\",\"runStarted\":\"🔧 Pay attention, 007! [{workflow_name}]({run_url}) is preparing your gadgets for this {event_type}...\",\"runSuccess\":\"🎩 Mission equipment ready! [{workflow_name}]({run_url}) has optimized your workflow. Use wisely, 007! 🔫\",\"runFailure\":\"🔧 Technical difficulties! [{workflow_name}]({run_url}) {status}. Even Q Branch has bad days...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -7481,17 +7492,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7526,7 +7549,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml index 05d649c82b8..56c97dca307 100644 --- a/.github/workflows/release.lock.yml +++ b/.github/workflows/release.lock.yml @@ -221,6 +221,7 @@ # agent --> conclusion # agent --> detection # agent --> update_release +# detection --> conclusion # detection --> update_release # generate-sbom --> agent # pre_activation --> activation @@ -5220,6 +5221,7 @@ jobs: needs: - activation - agent + - detection - update_release if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -5468,6 +5470,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Release" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5569,17 +5572,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5614,7 +5629,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml index d1d4e7fffd2..958c29d074c 100644 --- a/.github/workflows/repo-tree-map.lock.yml +++ b/.github/workflows/repo-tree-map.lock.yml @@ -69,6 +69,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5168,6 +5169,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5415,6 +5417,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Repository Tree Map Generator" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5516,17 +5519,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5561,7 +5576,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml index 8ac7b74cf8c..862d5f68553 100644 --- a/.github/workflows/repository-quality-improver.lock.yml +++ b/.github/workflows/repository-quality-improver.lock.yml @@ -73,6 +73,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -6075,6 +6076,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6322,6 +6324,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Repository Quality Improvement Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6423,17 +6426,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6468,7 +6483,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml index 2aa79ae2b4e..08edd0ddee6 100644 --- a/.github/workflows/research.lock.yml +++ b/.github/workflows/research.lock.yml @@ -76,6 +76,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5014,6 +5015,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5261,6 +5263,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Basic Research Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5362,17 +5365,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5407,7 +5422,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index 84ce26dca40..7568ef2cbed 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -74,6 +74,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5314,6 +5315,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5561,6 +5563,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Safe Output Health Monitor" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5662,17 +5665,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5707,7 +5722,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index f38e0d25e23..1c65e73ebd5 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -70,6 +70,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5092,6 +5093,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5339,6 +5341,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Schema Consistency Checker" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5440,17 +5443,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5485,7 +5500,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index ec51d044815..562790b0b2a 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -89,6 +89,7 @@ # agent --> conclusion # agent --> detection # detection --> add_comment +# detection --> conclusion # pre_activation --> activation # ``` # @@ -1021,6 +1022,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6437,6 +6446,7 @@ jobs: - activation - add_comment - agent + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6684,6 +6694,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Scout" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🔭 *Intelligence gathered by [{workflow_name}]({run_url})*\",\"runStarted\":\"🏕️ Scout on patrol! [{workflow_name}]({run_url}) is blazing trails through this {event_type}...\",\"runSuccess\":\"🔭 Recon complete! [{workflow_name}]({run_url}) has charted the territory. Map ready! 🗺️\",\"runFailure\":\"🏕️ Lost in the wilderness! [{workflow_name}]({run_url}) {status}. Sending search party...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6786,17 +6797,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6831,7 +6854,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/security-fix-pr.lock.yml b/.github/workflows/security-fix-pr.lock.yml index 8bd5da45d41..9f096785651 100644 --- a/.github/workflows/security-fix-pr.lock.yml +++ b/.github/workflows/security-fix-pr.lock.yml @@ -69,6 +69,7 @@ # agent --> create_pull_request # agent --> detection # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # pre_activation --> activation # ``` @@ -4580,6 +4581,7 @@ jobs: - activation - agent - create_pull_request + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4827,6 +4829,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Security Fix PR" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -4928,17 +4931,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -4973,7 +4988,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index 3649912bb7d..aa3578c1900 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -89,6 +89,7 @@ # close_issue --> conclusion # create_issue --> conclusion # detection --> close_issue +# detection --> conclusion # detection --> create_issue # ``` # @@ -5427,6 +5428,7 @@ jobs: - agent - close_issue - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5674,6 +5676,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Semantic Function Refactoring" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5775,17 +5778,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5820,7 +5835,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index 2115614cea4..d6ec666dcad 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -99,6 +99,7 @@ # create_issue --> conclusion # detection --> add_comment # detection --> add_labels +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -447,6 +448,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6270,6 +6279,7 @@ jobs: - add_labels - agent - create_issue + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6517,6 +6527,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Smoke Claude" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 💥 *[THE END] — Illustrated by [{workflow_name}]({run_url})*\",\"runStarted\":\"💥 **WHOOSH!** [{workflow_name}]({run_url}) springs into action on this {event_type}! *[Panel 1 begins...]*\",\"runSuccess\":\"🎬 **THE END** — [{workflow_name}]({run_url}) **MISSION: ACCOMPLISHED!** The hero saves the day! ✨\",\"runFailure\":\"💫 **TO BE CONTINUED...** [{workflow_name}]({run_url}) {status}! Our hero faces unexpected challenges...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6619,17 +6630,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6664,7 +6687,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml index c304d711cb5..b11d142ed48 100644 --- a/.github/workflows/smoke-codex.lock.yml +++ b/.github/workflows/smoke-codex.lock.yml @@ -89,6 +89,7 @@ # create_issue --> conclusion # detection --> add_comment # detection --> add_labels +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -326,6 +327,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6056,6 +6065,7 @@ jobs: - add_labels - agent - create_issue + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6303,6 +6313,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Smoke Codex" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🔮 *The oracle has spoken through [{workflow_name}]({run_url})*\",\"runStarted\":\"🔮 The ancient spirits stir... [{workflow_name}]({run_url}) awakens to divine this {event_type}...\",\"runSuccess\":\"✨ The prophecy is fulfilled... [{workflow_name}]({run_url}) has completed its mystical journey. The stars align. 🌟\",\"runFailure\":\"🌑 The shadows whisper... [{workflow_name}]({run_url}) {status}. The oracle requires further meditation...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6405,17 +6416,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6450,7 +6473,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/smoke-copilot-no-firewall.lock.yml b/.github/workflows/smoke-copilot-no-firewall.lock.yml index 55d321df3ea..d2c5308b51a 100644 --- a/.github/workflows/smoke-copilot-no-firewall.lock.yml +++ b/.github/workflows/smoke-copilot-no-firewall.lock.yml @@ -94,6 +94,7 @@ # create_issue --> conclusion # detection --> add_comment # detection --> add_labels +# detection --> conclusion # detection --> create_issue # detection --> update_pull_request # pre_activation --> activation @@ -338,6 +339,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6337,6 +6346,7 @@ jobs: - add_labels - agent - create_issue + - detection - update_pull_request if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim @@ -6585,6 +6595,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Smoke Copilot No Firewall" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🤖 *DIAGNOSTIC REPORT GENERATED BY [{workflow_name}]({run_url})*\",\"runStarted\":\"🤖 SYSTEM_INIT: [{workflow_name}]({run_url}) ACTIVATED. PROCESSING {event_type}. ALL SUBSYSTEMS ONLINE.\",\"runSuccess\":\"🤖 DIAGNOSTIC COMPLETE: [{workflow_name}]({run_url}) STATUS: ALL_UNITS_OPERATIONAL. MISSION_SUCCESS.\",\"runFailure\":\"🤖 ALERT: [{workflow_name}]({run_url}) {status}. ANOMALY_DETECTED. REPAIR_REQUIRED.\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6687,17 +6698,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6732,7 +6755,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/smoke-copilot-playwright.lock.yml b/.github/workflows/smoke-copilot-playwright.lock.yml index 93f9d5eba86..8039bd7aec9 100644 --- a/.github/workflows/smoke-copilot-playwright.lock.yml +++ b/.github/workflows/smoke-copilot-playwright.lock.yml @@ -153,6 +153,7 @@ # create_issue --> conclusion # detection --> add_comment # detection --> add_labels +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -386,6 +387,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6632,6 +6641,7 @@ jobs: - add_labels - agent - create_issue + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6879,6 +6889,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Smoke Copilot Playwright" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 📰 *BREAKING: Report filed by [{workflow_name}]({run_url})*\",\"runStarted\":\"📰 BREAKING: [{workflow_name}]({run_url}) is now investigating this {event_type}. Sources say the story is developing...\",\"runSuccess\":\"📰 VERDICT: [{workflow_name}]({run_url}) has concluded. All systems operational. This is a developing story. 🎤\",\"runFailure\":\"📰 DEVELOPING STORY: [{workflow_name}]({run_url}) reports {status}. Our correspondents are investigating the incident...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6981,17 +6992,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7026,7 +7049,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 2d789570539..59f47a495f1 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -87,6 +87,7 @@ # create_issue --> conclusion # detection --> add_comment # detection --> add_labels +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -317,6 +318,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6518,6 +6527,7 @@ jobs: - add_labels - agent - create_issue + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6765,6 +6775,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Smoke Copilot" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 📰 *BREAKING: Report filed by [{workflow_name}]({run_url})*\",\"runStarted\":\"📰 BREAKING: [{workflow_name}]({run_url}) is now investigating this {event_type}. Sources say the story is developing...\",\"runSuccess\":\"📰 VERDICT: [{workflow_name}]({run_url}) has concluded. All systems operational. This is a developing story. 🎤\",\"runFailure\":\"📰 DEVELOPING STORY: [{workflow_name}]({run_url}) reports {status}. Our correspondents are investigating the incident...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6867,17 +6878,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6912,7 +6935,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/smoke-detector.lock.yml b/.github/workflows/smoke-detector.lock.yml index 65cedd9931d..df9ed856805 100644 --- a/.github/workflows/smoke-detector.lock.yml +++ b/.github/workflows/smoke-detector.lock.yml @@ -105,6 +105,7 @@ # create_issue --> add_comment # create_issue --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_issue # pre_activation --> activation # ``` @@ -658,6 +659,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6058,6 +6067,7 @@ jobs: - add_comment - agent - create_issue + - detection if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim permissions: @@ -6305,6 +6315,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Smoke Detector - Smoke Test Failure Investigator" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🚨 *Alert generated by [{workflow_name}]({run_url})*\",\"runStarted\":\"🔥 BEEP BEEP! [{workflow_name}]({run_url}) detected smoke on this {event_type}! Investigating...\",\"runSuccess\":\"🚨 All clear! [{workflow_name}]({run_url}) has completed the investigation. Fire report filed! 📋\",\"runFailure\":\"🔥 Alarm malfunction! [{workflow_name}]({run_url}) {status}. Manual inspection required...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6407,17 +6418,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6452,7 +6475,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/smoke-srt.lock.yml b/.github/workflows/smoke-srt.lock.yml index 29e5ae1d90f..c34cd30b5df 100644 --- a/.github/workflows/smoke-srt.lock.yml +++ b/.github/workflows/smoke-srt.lock.yml @@ -79,6 +79,7 @@ # activation --> conclusion # agent --> conclusion # agent --> detection +# detection --> conclusion # pre_activation --> activation # ``` # @@ -4673,6 +4674,7 @@ jobs: needs: - activation - agent + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -4920,6 +4922,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Smoke SRT" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e ⚓ *Logged in the captain's journal by [{workflow_name}]({run_url})*\",\"runStarted\":\"⚓ Ahoy! [{workflow_name}]({run_url}) sets sail on this {event_type}! All hands on deck, me hearties! 🏴\u200d☠️\",\"runSuccess\":\"🏴\u200d☠️ Yo ho ho! [{workflow_name}]({run_url}) has claimed the treasure! The voyage be a SUCCESS! ⚓\",\"runFailure\":\"🏴\u200d☠️ Blimey! [{workflow_name}]({run_url}) {status}! We've hit rough waters, mateys...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -5022,17 +5025,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5067,7 +5082,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml index be8481cea35..ef180655817 100644 --- a/.github/workflows/stale-repo-identifier.lock.yml +++ b/.github/workflows/stale-repo-identifier.lock.yml @@ -128,6 +128,7 @@ # agent --> detection # agent --> upload_assets # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # detection --> upload_assets # upload_assets --> conclusion @@ -6728,6 +6729,7 @@ jobs: - activation - agent - create_issue + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6976,6 +6978,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Stale Repository Identifier" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🔍 *Analysis by [{workflow_name}]({run_url})*\",\"runStarted\":\"🔍 Stale Repository Identifier starting! [{workflow_name}]({run_url}) is analyzing repository activity...\",\"runSuccess\":\"✅ Analysis complete! [{workflow_name}]({run_url}) has finished analyzing stale repositories.\",\"runFailure\":\"⚠️ Analysis interrupted! [{workflow_name}]({run_url}) {status}.\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -7078,17 +7081,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -7123,7 +7138,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index 184f7b7d3d3..80844fb539d 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -71,6 +71,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5118,6 +5119,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5365,6 +5367,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Static Analysis Report" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5466,17 +5469,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5511,7 +5526,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml index e9fdd1bf2ab..58964783d1e 100644 --- a/.github/workflows/super-linter.lock.yml +++ b/.github/workflows/super-linter.lock.yml @@ -122,6 +122,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # super_linter --> agent # ``` @@ -5312,6 +5313,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5559,6 +5561,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Super Linter Report" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5660,17 +5663,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5705,7 +5720,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index 7d0bba16f82..ea4ce1479ca 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -120,6 +120,7 @@ # create_pull_request --> add_comment # create_pull_request --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_pull_request # detection --> upload_assets # upload_assets --> conclusion @@ -6400,6 +6401,7 @@ jobs: - add_comment - agent - create_pull_request + - detection - upload_assets if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim @@ -6648,6 +6650,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Technical Doc Writer" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 📝 *Documentation by [{workflow_name}]({run_url})*\",\"runStarted\":\"✍️ The Technical Writer begins! [{workflow_name}]({run_url}) is documenting this {event_type}...\",\"runSuccess\":\"📝 Documentation complete! [{workflow_name}]({run_url}) has written the docs. Clear as crystal! ✨\",\"runFailure\":\"✍️ Writer's block! [{workflow_name}]({run_url}) {status}. The page remains blank...\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6750,17 +6753,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6795,7 +6810,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/test-python-safe-input.lock.yml b/.github/workflows/test-python-safe-input.lock.yml index 7dd0f3e8bc8..abe9e1af725 100644 --- a/.github/workflows/test-python-safe-input.lock.yml +++ b/.github/workflows/test-python-safe-input.lock.yml @@ -112,6 +112,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # ``` # @@ -6051,6 +6052,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -6298,6 +6300,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Python Safe-Input Test Workflow" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6399,17 +6402,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6444,7 +6459,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index cb2efc7468f..28b1ab378a2 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -101,6 +101,7 @@ # agent --> detection # agent --> push_to_pull_request_branch # create_pull_request --> conclusion +# detection --> conclusion # detection --> create_pull_request # detection --> push_to_pull_request_branch # pre_activation --> activation @@ -398,6 +399,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -5510,6 +5519,7 @@ jobs: - activation - agent - create_pull_request + - detection - push_to_pull_request_branch if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -5758,6 +5768,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Tidy" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5859,17 +5870,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5904,7 +5927,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index e8d85f38a1d..5ced54b7912 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -82,6 +82,7 @@ # agent --> create_discussion # agent --> detection # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # ``` # @@ -5378,6 +5379,7 @@ jobs: - activation - agent - create_discussion + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5625,6 +5627,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Typist - Go Type Analysis" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5726,17 +5729,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5771,7 +5786,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index b6095f795fc..ab1d6474747 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -155,6 +155,7 @@ # create_pull_request --> add_comment # create_pull_request --> conclusion # detection --> add_comment +# detection --> conclusion # detection --> create_pull_request # detection --> upload_assets # pre_activation --> activation @@ -683,6 +684,14 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const reaction = process.env.GH_AW_REACTION || "eyes"; const command = process.env.GH_AW_COMMAND; @@ -6202,6 +6211,7 @@ jobs: - add_comment - agent - create_pull_request + - detection - upload_assets if: ((always()) && (needs.agent.result != 'skipped')) && (!(needs.add_comment.outputs.comment_id)) runs-on: ubuntu-slim @@ -6450,6 +6460,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Documentation Unbloat" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} GH_AW_SAFE_OUTPUT_MESSAGES: "{\"footer\":\"\\u003e 🗜️ *Compressed by [{workflow_name}]({run_url})*\",\"runStarted\":\"📦 Time to slim down! [{workflow_name}]({run_url}) is trimming the excess from this {event_type}...\",\"runSuccess\":\"🗜️ Docs on a diet! [{workflow_name}]({run_url}) has removed the bloat. Lean and mean! 💪\",\"runFailure\":\"📦 Unbloating paused! [{workflow_name}]({run_url}) {status}. The docs remain... fluffy.\"}" with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -6552,17 +6563,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6597,7 +6620,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml index 49124206cef..93a5f47d292 100644 --- a/.github/workflows/video-analyzer.lock.yml +++ b/.github/workflows/video-analyzer.lock.yml @@ -72,6 +72,7 @@ # agent --> create_issue # agent --> detection # create_issue --> conclusion +# detection --> conclusion # detection --> create_issue # ``` # @@ -5356,6 +5357,7 @@ jobs: - activation - agent - create_issue + - detection if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim permissions: @@ -5603,6 +5605,7 @@ jobs: GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} GH_AW_WORKFLOW_NAME: "Video Analysis Agent" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -5704,17 +5707,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -5749,7 +5764,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml index 0728c38e895..224015d32fc 100644 --- a/.github/workflows/weekly-issue-summary.lock.yml +++ b/.github/workflows/weekly-issue-summary.lock.yml @@ -79,6 +79,7 @@ # agent --> detection # agent --> upload_assets # create_discussion --> conclusion +# detection --> conclusion # detection --> create_discussion # detection --> upload_assets # upload_assets --> conclusion @@ -6093,6 +6094,7 @@ jobs: - activation - agent - create_discussion + - detection - upload_assets if: (always()) && (needs.agent.result != 'skipped') runs-on: ubuntu-slim @@ -6344,6 +6346,7 @@ jobs: GH_AW_WORKFLOW_NAME: "Weekly Issue Summary" GH_AW_TRACKER_ID: "weekly-issue-summary" GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }} + GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }} with: github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | @@ -6445,17 +6448,29 @@ jobs: const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️"; return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } + function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + const templateContext = toSnakeCase(ctx); + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); + } async function main() { const commentId = process.env.GH_AW_COMMENT_ID; const commentRepo = process.env.GH_AW_COMMENT_REPO; const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } let noopMessages = []; const agentOutputResult = loadAgentOutput(); if (agentOutputResult.success && agentOutputResult.data) { @@ -6490,7 +6505,12 @@ jobs: const repoName = commentRepo ? commentRepo.split("/")[1] : context.repo.repo; core.info(`Updating comment in ${repoOwner}/${repoName}`); let message; - if (agentConclusion === "success") { + if (detectionConclusion && detectionConclusion === "failure") { + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/pkg/parser/schemas/main_workflow_schema.json b/pkg/parser/schemas/main_workflow_schema.json index 4caa7e64b2e..e66c2b339db 100644 --- a/pkg/parser/schemas/main_workflow_schema.json +++ b/pkg/parser/schemas/main_workflow_schema.json @@ -4364,6 +4364,14 @@ "❌ Agentic [{workflow_name}]({run_url}) {status} and wasn't able to produce a result.", "❌ [{workflow_name}]({run_url}) {status}." ] + }, + "detection-failure": { + "type": "string", + "description": "Custom message template for detection job failure. Available placeholders: {workflow_name}, {run_url}. Default: '⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details.'", + "examples": [ + "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details.", + "⚠️ Detection job failed in [{workflow_name}]({run_url})." + ] } }, "additionalProperties": false diff --git a/pkg/workflow/compiler_types.go b/pkg/workflow/compiler_types.go index 69a5c3a58b3..d5bc36cda88 100644 --- a/pkg/workflow/compiler_types.go +++ b/pkg/workflow/compiler_types.go @@ -278,6 +278,7 @@ type SafeOutputMessagesConfig struct { RunStarted string `yaml:"run-started,omitempty" json:"runStarted,omitempty"` // Custom workflow activation message template RunSuccess string `yaml:"run-success,omitempty" json:"runSuccess,omitempty"` // Custom workflow success message template RunFailure string `yaml:"run-failure,omitempty" json:"runFailure,omitempty"` // Custom workflow failure message template + DetectionFailure string `yaml:"detection-failure,omitempty" json:"detectionFailure,omitempty"` // Custom detection job failure message template } // SecretMaskingConfig holds configuration for secret redaction behavior diff --git a/pkg/workflow/js/messages_run_status.cjs b/pkg/workflow/js/messages_run_status.cjs index e87d86de31d..47bc622e9ab 100644 --- a/pkg/workflow/js/messages_run_status.cjs +++ b/pkg/workflow/js/messages_run_status.cjs @@ -84,8 +84,35 @@ function getRunFailureMessage(ctx) { return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext); } +/** + * @typedef {Object} DetectionFailureContext + * @property {string} workflowName - Name of the workflow + * @property {string} runUrl - URL of the workflow run + */ + +/** + * Get the detection-failure message, using custom template if configured. + * @param {DetectionFailureContext} ctx - Context for detection-failure message generation + * @returns {string} Detection-failure message + */ +function getDetectionFailureMessage(ctx) { + const messages = getMessages(); + + // Create context with both camelCase and snake_case keys + const templateContext = toSnakeCase(ctx); + + // Default detection-failure template + const defaultMessage = "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details."; + + // Use custom message if configured + return messages?.detectionFailure + ? renderTemplate(messages.detectionFailure, templateContext) + : renderTemplate(defaultMessage, templateContext); +} + module.exports = { getRunStartedMessage, getRunSuccessMessage, getRunFailureMessage, + getDetectionFailureMessage, }; diff --git a/pkg/workflow/js/notify_comment_error.cjs b/pkg/workflow/js/notify_comment_error.cjs index 568575c4e08..f5b5d367c05 100644 --- a/pkg/workflow/js/notify_comment_error.cjs +++ b/pkg/workflow/js/notify_comment_error.cjs @@ -6,7 +6,7 @@ // It also processes noop messages and adds them to the activation comment. const { loadAgentOutput } = require("./load_agent_output.cjs"); -const { getRunSuccessMessage, getRunFailureMessage } = require("./messages_run_status.cjs"); +const { getRunSuccessMessage, getRunFailureMessage, getDetectionFailureMessage } = require("./messages_run_status.cjs"); async function main() { const commentId = process.env.GH_AW_COMMENT_ID; @@ -14,12 +14,16 @@ async function main() { const runUrl = process.env.GH_AW_RUN_URL; const workflowName = process.env.GH_AW_WORKFLOW_NAME || "Workflow"; const agentConclusion = process.env.GH_AW_AGENT_CONCLUSION || "failure"; + const detectionConclusion = process.env.GH_AW_DETECTION_CONCLUSION; core.info(`Comment ID: ${commentId}`); core.info(`Comment Repo: ${commentRepo}`); core.info(`Run URL: ${runUrl}`); core.info(`Workflow Name: ${workflowName}`); core.info(`Agent Conclusion: ${agentConclusion}`); + if (detectionConclusion) { + core.info(`Detection Conclusion: ${detectionConclusion}`); + } // Load agent output to check for noop messages let noopMessages = []; @@ -70,7 +74,14 @@ async function main() { // Determine the message based on agent conclusion using custom messages if configured let message; - if (agentConclusion === "success") { + // Check if detection job failed (if detection job exists) + if (detectionConclusion && detectionConclusion === "failure") { + // Detection job failed - report this prominently + message = getDetectionFailureMessage({ + workflowName, + runUrl, + }); + } else if (agentConclusion === "success") { message = getRunSuccessMessage({ workflowName, runUrl, diff --git a/pkg/workflow/notify_comment.go b/pkg/workflow/notify_comment.go index 1758071eff4..a8560cf927d 100644 --- a/pkg/workflow/notify_comment.go +++ b/pkg/workflow/notify_comment.go @@ -125,6 +125,12 @@ func (c *Compiler) buildConclusionJob(data *WorkflowData, mainJobName string, sa } customEnvVars = append(customEnvVars, fmt.Sprintf(" GH_AW_AGENT_CONCLUSION: ${{ needs.%s.result }}\n", mainJobName)) + // Pass detection conclusion if threat detection is enabled + if data.SafeOutputs.ThreatDetection != nil { + customEnvVars = append(customEnvVars, " GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.result }}\n") + notifyCommentLog.Print("Added detection conclusion environment variable to conclusion job") + } + // Pass custom messages config if present if data.SafeOutputs != nil && data.SafeOutputs.Messages != nil { messagesJSON, err := serializeMessagesConfig(data.SafeOutputs.Messages) @@ -204,6 +210,12 @@ func (c *Compiler) buildConclusionJob(data *WorkflowData, mainJobName string, sa needs := []string{mainJobName, constants.ActivationJobName} needs = append(needs, safeOutputJobNames...) + // Add detection job to dependencies if threat detection is enabled + if data.SafeOutputs.ThreatDetection != nil { + needs = append(needs, "detection") + notifyCommentLog.Print("Added detection job to conclusion dependencies") + } + notifyCommentLog.Printf("Job built successfully: dependencies_count=%d", len(needs)) // Create outputs for the job (include noop and missing_tool outputs if configured) From 257618574ead4672a0fc60f2f8f0f78fd97a87d9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 6 Dec 2025 14:10:36 +0000 Subject: [PATCH 3/6] Add tests for detection failure reporting and update TypeScript types Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/plan.lock.yml | 2 + pkg/workflow/js/messages_core.cjs | 2 + pkg/workflow/js/notify_comment_error.test.cjs | 59 +++++++++++++++++++ 3 files changed, 63 insertions(+) diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml index d670ae3382d..e497aefd6f7 100644 --- a/.github/workflows/plan.lock.yml +++ b/.github/workflows/plan.lock.yml @@ -715,6 +715,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6566,6 +6567,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/pkg/workflow/js/messages_core.cjs b/pkg/workflow/js/messages_core.cjs index 0c0e7e26b92..c9af2642872 100644 --- a/pkg/workflow/js/messages_core.cjs +++ b/pkg/workflow/js/messages_core.cjs @@ -29,6 +29,7 @@ * @property {string} [runStarted] - Custom workflow activation message template * @property {string} [runSuccess] - Custom workflow success message template * @property {string} [runFailure] - Custom workflow failure message template + * @property {string} [detectionFailure] - Custom detection job failure message template * @property {string} [closeOlderDiscussion] - Custom message for closing older discussions as outdated */ @@ -55,6 +56,7 @@ function getMessages() { runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/pkg/workflow/js/notify_comment_error.test.cjs b/pkg/workflow/js/notify_comment_error.test.cjs index bc0e38614e0..b7231617db5 100644 --- a/pkg/workflow/js/notify_comment_error.test.cjs +++ b/pkg/workflow/js/notify_comment_error.test.cjs @@ -91,6 +91,7 @@ describe("notify_comment_error.cjs", () => { GH_AW_RUN_URL: process.env.GH_AW_RUN_URL, GH_AW_WORKFLOW_NAME: process.env.GH_AW_WORKFLOW_NAME, GH_AW_AGENT_CONCLUSION: process.env.GH_AW_AGENT_CONCLUSION, + GH_AW_DETECTION_CONCLUSION: process.env.GH_AW_DETECTION_CONCLUSION, }; // Read the script content @@ -255,6 +256,64 @@ describe("notify_comment_error.cjs", () => { }) ); }); + + it("should prioritize detection failure message when detection job fails", async () => { + process.env.GH_AW_COMMENT_ID = "123456"; + process.env.GH_AW_RUN_URL = "https://github.com/owner/repo/actions/runs/123"; + process.env.GH_AW_WORKFLOW_NAME = "test-workflow"; + process.env.GH_AW_AGENT_CONCLUSION = "success"; + process.env.GH_AW_DETECTION_CONCLUSION = "failure"; + + await eval(`(async () => { ${notifyCommentScript} })()`); + + expect(mockGithub.request).toHaveBeenCalledWith( + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", + expect.objectContaining({ + owner: "testowner", + repo: "testrepo", + comment_id: 123456, + // Default: "⚠️ Security scanning failed for [{workflow_name}]({run_url}). Review the logs for details." + body: expect.stringContaining("Security scanning failed"), + }) + ); + expect(mockCore.info).toHaveBeenCalledWith("Successfully updated comment"); + }); + + it("should report detection failure even when agent fails", async () => { + process.env.GH_AW_COMMENT_ID = "123456"; + process.env.GH_AW_RUN_URL = "https://github.com/owner/repo/actions/runs/123"; + process.env.GH_AW_WORKFLOW_NAME = "test-workflow"; + process.env.GH_AW_AGENT_CONCLUSION = "failure"; + process.env.GH_AW_DETECTION_CONCLUSION = "failure"; + + await eval(`(async () => { ${notifyCommentScript} })()`); + + expect(mockGithub.request).toHaveBeenCalledWith( + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", + expect.objectContaining({ + // Detection failure should be shown instead of agent failure + body: expect.stringContaining("Security scanning failed"), + }) + ); + }); + + it("should show agent success when detection succeeds", async () => { + process.env.GH_AW_COMMENT_ID = "123456"; + process.env.GH_AW_RUN_URL = "https://github.com/owner/repo/actions/runs/123"; + process.env.GH_AW_WORKFLOW_NAME = "test-workflow"; + process.env.GH_AW_AGENT_CONCLUSION = "success"; + process.env.GH_AW_DETECTION_CONCLUSION = "success"; + + await eval(`(async () => { ${notifyCommentScript} })()`); + + expect(mockGithub.request).toHaveBeenCalledWith( + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", + expect.objectContaining({ + // Agent success message should be shown + body: expect.stringContaining("found the treasure and completed successfully"), + }) + ); + }); }); describe("when updating a discussion comment", () => { From a5eb92df1d0590a976f90b24ec9fe931c523c829 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 6 Dec 2025 14:15:43 +0000 Subject: [PATCH 4/6] Recompile all workflows with detection failure reporting Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/ai-triage-campaign.lock.yml | 1 + .github/workflows/archie.lock.yml | 3 +++ .github/workflows/artifacts-summary.lock.yml | 2 ++ .github/workflows/audit-workflows.lock.yml | 2 ++ .github/workflows/blog-auditor.lock.yml | 2 ++ .github/workflows/brave.lock.yml | 3 +++ .github/workflows/breaking-change-checker.lock.yml | 1 + .github/workflows/changeset.lock.yml | 2 ++ .github/workflows/ci-doctor.lock.yml | 2 ++ .github/workflows/cli-consistency-checker.lock.yml | 1 + .github/workflows/cli-version-checker.lock.yml | 1 + .github/workflows/cloclo.lock.yml | 3 +++ .github/workflows/close-old-discussions.lock.yml | 1 + .github/workflows/commit-changes-analyzer.lock.yml | 2 ++ .github/workflows/copilot-agent-analysis.lock.yml | 2 ++ .github/workflows/copilot-pr-merged-report.lock.yml | 2 ++ .github/workflows/copilot-pr-nlp-analysis.lock.yml | 2 ++ .github/workflows/copilot-pr-prompt-analysis.lock.yml | 2 ++ .github/workflows/copilot-session-insights.lock.yml | 2 ++ .github/workflows/craft.lock.yml | 3 +++ .github/workflows/daily-assign-issue-to-user.lock.yml | 2 ++ .github/workflows/daily-code-metrics.lock.yml | 2 ++ .github/workflows/daily-copilot-token-report.lock.yml | 2 ++ .github/workflows/daily-doc-updater.lock.yml | 1 + .github/workflows/daily-fact.lock.yml | 2 ++ .github/workflows/daily-file-diet.lock.yml | 1 + .github/workflows/daily-firewall-report.lock.yml | 2 ++ .github/workflows/daily-issues-report.lock.yml | 2 ++ .github/workflows/daily-malicious-code-scan.lock.yml | 1 + .github/workflows/daily-multi-device-docs-tester.lock.yml | 1 + .github/workflows/daily-news.lock.yml | 2 ++ .github/workflows/daily-performance-summary.lock.yml | 2 ++ .github/workflows/daily-repo-chronicle.lock.yml | 2 ++ .github/workflows/daily-workflow-updater.lock.yml | 1 + .github/workflows/deep-report.lock.yml | 2 ++ .github/workflows/dependabot-go-checker.lock.yml | 1 + .github/workflows/dev-hawk.lock.yml | 2 ++ .github/workflows/developer-docs-consolidator.lock.yml | 2 ++ .github/workflows/dictation-prompt.lock.yml | 1 + .github/workflows/docs-noob-tester.lock.yml | 2 ++ .github/workflows/duplicate-code-detector.lock.yml | 1 + .github/workflows/example-workflow-analyzer.lock.yml | 2 ++ .github/workflows/github-mcp-structural-analysis.lock.yml | 2 ++ .github/workflows/github-mcp-tools-report.lock.yml | 2 ++ .github/workflows/glossary-maintainer.lock.yml | 1 + .github/workflows/go-fan.lock.yml | 2 ++ .github/workflows/go-logger.lock.yml | 1 + .github/workflows/go-pattern-detector.lock.yml | 1 + .github/workflows/grumpy-reviewer.lock.yml | 3 +++ .github/workflows/instructions-janitor.lock.yml | 1 + .github/workflows/issue-arborist.lock.yml | 2 ++ .github/workflows/issue-classifier.lock.yml | 2 ++ .github/workflows/issue-monster.lock.yml | 2 ++ .github/workflows/issue-triage-agent.lock.yml | 1 + .github/workflows/lockfile-stats.lock.yml | 2 ++ .github/workflows/mcp-inspector.lock.yml | 2 ++ .github/workflows/mergefest.lock.yml | 2 ++ .github/workflows/notion-issue-summary.lock.yml | 1 + .github/workflows/org-health-report.lock.yml | 2 ++ .github/workflows/pdf-summary.lock.yml | 3 +++ .github/workflows/poem-bot.lock.yml | 4 ++++ .github/workflows/pr-nitpick-reviewer.lock.yml | 4 ++++ .github/workflows/prompt-clustering-analysis.lock.yml | 2 ++ .github/workflows/python-data-charts.lock.yml | 2 ++ .github/workflows/q.lock.yml | 3 +++ .github/workflows/release.lock.yml | 7 ++++--- .github/workflows/repo-tree-map.lock.yml | 2 ++ .github/workflows/repository-quality-improver.lock.yml | 2 ++ .github/workflows/research.lock.yml | 2 ++ .github/workflows/safe-output-health.lock.yml | 2 ++ .github/workflows/schema-consistency-checker.lock.yml | 2 ++ .github/workflows/scout.lock.yml | 3 +++ .github/workflows/security-fix-pr.lock.yml | 1 + .github/workflows/semantic-function-refactor.lock.yml | 1 + .github/workflows/smoke-claude.lock.yml | 3 +++ .github/workflows/smoke-codex.lock.yml | 3 +++ .github/workflows/smoke-copilot-no-firewall.lock.yml | 3 +++ .github/workflows/smoke-copilot-playwright.lock.yml | 3 +++ .github/workflows/smoke-copilot.lock.yml | 3 +++ .github/workflows/smoke-detector.lock.yml | 3 +++ .github/workflows/smoke-srt.lock.yml | 1 + .github/workflows/stale-repo-identifier.lock.yml | 1 + .github/workflows/static-analysis-report.lock.yml | 2 ++ .github/workflows/super-linter.lock.yml | 1 + .github/workflows/technical-doc-writer.lock.yml | 2 ++ .github/workflows/test-python-safe-input.lock.yml | 1 + .github/workflows/tidy.lock.yml | 2 ++ .github/workflows/typist.lock.yml | 2 ++ .github/workflows/unbloat-docs.lock.yml | 3 +++ .github/workflows/video-analyzer.lock.yml | 1 + .github/workflows/weekly-issue-summary.lock.yml | 2 ++ 91 files changed, 177 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ai-triage-campaign.lock.yml b/.github/workflows/ai-triage-campaign.lock.yml index abbc073e669..2d36e3b7074 100644 --- a/.github/workflows/ai-triage-campaign.lock.yml +++ b/.github/workflows/ai-triage-campaign.lock.yml @@ -5789,6 +5789,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml index 64a673bc388..a9cd6e9efe1 100644 --- a/.github/workflows/archie.lock.yml +++ b/.github/workflows/archie.lock.yml @@ -801,6 +801,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1286,6 +1287,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6903,6 +6905,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml index 3d936e3d2b4..1c7b9ffd488 100644 --- a/.github/workflows/artifacts-summary.lock.yml +++ b/.github/workflows/artifacts-summary.lock.yml @@ -5399,6 +5399,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5701,6 +5702,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index ebd847e7f73..914f893db8a 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -6164,6 +6164,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6444,6 +6445,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index 3a4bd6b5fa6..bb4f9e91d61 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -5280,6 +5280,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5561,6 +5562,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml index bfd31d2d8a7..2342cc61aad 100644 --- a/.github/workflows/brave.lock.yml +++ b/.github/workflows/brave.lock.yml @@ -698,6 +698,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1183,6 +1184,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6695,6 +6697,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/breaking-change-checker.lock.yml b/.github/workflows/breaking-change-checker.lock.yml index 9e67354bad3..cf128304c72 100644 --- a/.github/workflows/breaking-change-checker.lock.yml +++ b/.github/workflows/breaking-change-checker.lock.yml @@ -5471,6 +5471,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/changeset.lock.yml b/.github/workflows/changeset.lock.yml index d86e4a207e1..d02684fcfce 100644 --- a/.github/workflows/changeset.lock.yml +++ b/.github/workflows/changeset.lock.yml @@ -842,6 +842,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5893,6 +5894,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml index d96dfe3e770..3141a3224bb 100644 --- a/.github/workflows/ci-doctor.lock.yml +++ b/.github/workflows/ci-doctor.lock.yml @@ -504,6 +504,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6169,6 +6170,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml index e9eb8615202..461cf795746 100644 --- a/.github/workflows/cli-consistency-checker.lock.yml +++ b/.github/workflows/cli-consistency-checker.lock.yml @@ -5466,6 +5466,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index cbaef85b663..ac40b822255 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -5227,6 +5227,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index d53b3fb73ac..5a2b2077104 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -900,6 +900,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1388,6 +1389,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6707,6 +6709,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/close-old-discussions.lock.yml b/.github/workflows/close-old-discussions.lock.yml index 7d2b37fc68d..c5743f868ee 100644 --- a/.github/workflows/close-old-discussions.lock.yml +++ b/.github/workflows/close-old-discussions.lock.yml @@ -5507,6 +5507,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index 24a841032fd..8ee48ccaa4f 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -5158,6 +5158,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5436,6 +5437,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index 687c932ada8..cde6201538c 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -5840,6 +5840,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6120,6 +6121,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml index fe3f4174726..4b09ac7fb29 100644 --- a/.github/workflows/copilot-pr-merged-report.lock.yml +++ b/.github/workflows/copilot-pr-merged-report.lock.yml @@ -6732,6 +6732,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7012,6 +7013,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index 866edd22737..41195e1e831 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -6946,6 +6946,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7226,6 +7227,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index 7ca9e52bc91..b14d6ffc5ef 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -6027,6 +6027,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6307,6 +6308,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 545686c530c..7c08d510a48 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -7250,6 +7250,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7530,6 +7531,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml index d764d7e4c16..ceb9980113c 100644 --- a/.github/workflows/craft.lock.yml +++ b/.github/workflows/craft.lock.yml @@ -856,6 +856,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1341,6 +1342,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7049,6 +7051,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml index 365b3f9bb61..276520493f7 100644 --- a/.github/workflows/daily-assign-issue-to-user.lock.yml +++ b/.github/workflows/daily-assign-issue-to-user.lock.yml @@ -314,6 +314,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6301,6 +6302,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index 2b01fa8b981..2ed432c8457 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -6293,6 +6293,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6573,6 +6574,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-copilot-token-report.lock.yml b/.github/workflows/daily-copilot-token-report.lock.yml index b90fc6932da..5c3ca8129c5 100644 --- a/.github/workflows/daily-copilot-token-report.lock.yml +++ b/.github/workflows/daily-copilot-token-report.lock.yml @@ -7117,6 +7117,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7397,6 +7398,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index c2013d93bf2..56845c523e7 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -4962,6 +4962,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index f7a60b4a057..99b3ac55fb3 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -378,6 +378,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5281,6 +5282,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml index 459681bfbc6..1782480dd97 100644 --- a/.github/workflows/daily-file-diet.lock.yml +++ b/.github/workflows/daily-file-diet.lock.yml @@ -5233,6 +5233,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index f558bfd30f3..86165fdeea6 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -6539,6 +6539,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6819,6 +6820,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 45d0c359d65..533ba51d89e 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -7117,6 +7117,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7398,6 +7399,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-malicious-code-scan.lock.yml b/.github/workflows/daily-malicious-code-scan.lock.yml index 696f21a9666..98888f1e80a 100644 --- a/.github/workflows/daily-malicious-code-scan.lock.yml +++ b/.github/workflows/daily-malicious-code-scan.lock.yml @@ -5702,6 +5702,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index 1346ebcabc8..c37d72a42f1 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -4869,6 +4869,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index 4b9b2d09b55..b123a25a275 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -7006,6 +7006,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7286,6 +7287,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index e0e1064413f..2e01c7b7834 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -8011,6 +8011,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -8292,6 +8293,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index 5465cbe2af0..10ec92627d8 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -6550,6 +6550,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6830,6 +6831,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index 8a6868c38e3..fe620f4e06e 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -5468,6 +5468,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index 368a82abd1f..9ad7f5965df 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -5767,6 +5767,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6047,6 +6048,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml index 4cb7e4cf1a0..e5ed0d60ba9 100644 --- a/.github/workflows/dependabot-go-checker.lock.yml +++ b/.github/workflows/dependabot-go-checker.lock.yml @@ -6081,6 +6081,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index af67f52aaeb..398284e41d3 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -429,6 +429,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5931,6 +5932,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index 38755f3b7d5..b06a86ccbaa 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -6046,6 +6046,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6325,6 +6326,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index 518eab7028a..59007caed92 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -5413,6 +5413,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml index 9ab8265d4c2..a16b8c0d7b6 100644 --- a/.github/workflows/docs-noob-tester.lock.yml +++ b/.github/workflows/docs-noob-tester.lock.yml @@ -5485,6 +5485,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5764,6 +5765,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml index fdf123eab8e..758f4728ddc 100644 --- a/.github/workflows/duplicate-code-detector.lock.yml +++ b/.github/workflows/duplicate-code-detector.lock.yml @@ -5049,6 +5049,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index 53657ccbb93..52a49cfbfe2 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -4734,6 +4734,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5014,6 +5015,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml index ea38db8759e..34853f3fed0 100644 --- a/.github/workflows/github-mcp-structural-analysis.lock.yml +++ b/.github/workflows/github-mcp-structural-analysis.lock.yml @@ -5973,6 +5973,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6253,6 +6254,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index 7e263eb780a..f9298711aff 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -5753,6 +5753,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6032,6 +6033,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 76ea3860338..3851212bedf 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -6440,6 +6440,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml index 199bc008239..91cd6018338 100644 --- a/.github/workflows/go-fan.lock.yml +++ b/.github/workflows/go-fan.lock.yml @@ -5350,6 +5350,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5631,6 +5632,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index bcbb85cba4c..fdb78b3223c 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -5188,6 +5188,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index b1b57d8a460..21aa7504330 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -4898,6 +4898,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml index 08ac4d841a1..9aaa5ba5c49 100644 --- a/.github/workflows/grumpy-reviewer.lock.yml +++ b/.github/workflows/grumpy-reviewer.lock.yml @@ -731,6 +731,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1216,6 +1217,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6846,6 +6848,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index a233ddcfe3d..0f9132aeb19 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -4953,6 +4953,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml index 5ef338620db..967aa102fbe 100644 --- a/.github/workflows/issue-arborist.lock.yml +++ b/.github/workflows/issue-arborist.lock.yml @@ -5065,6 +5065,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5345,6 +5346,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/issue-classifier.lock.yml b/.github/workflows/issue-classifier.lock.yml index 33dda070be8..611ab482b1f 100644 --- a/.github/workflows/issue-classifier.lock.yml +++ b/.github/workflows/issue-classifier.lock.yml @@ -624,6 +624,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -4604,6 +4605,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml index b05167833a5..0df7ff51356 100644 --- a/.github/workflows/issue-monster.lock.yml +++ b/.github/workflows/issue-monster.lock.yml @@ -553,6 +553,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6680,6 +6681,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml index c39b72d1534..10170de6faa 100644 --- a/.github/workflows/issue-triage-agent.lock.yml +++ b/.github/workflows/issue-triage-agent.lock.yml @@ -5573,6 +5573,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index 608501f9ea0..216f6119b14 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -5393,6 +5393,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5672,6 +5673,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index df66cfed80a..377195f292e 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -6075,6 +6075,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6354,6 +6355,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml index 70b2b7f6c7d..1af2a6d96eb 100644 --- a/.github/workflows/mergefest.lock.yml +++ b/.github/workflows/mergefest.lock.yml @@ -553,6 +553,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6187,6 +6188,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/notion-issue-summary.lock.yml b/.github/workflows/notion-issue-summary.lock.yml index a7dcf358faf..28926259405 100644 --- a/.github/workflows/notion-issue-summary.lock.yml +++ b/.github/workflows/notion-issue-summary.lock.yml @@ -5076,6 +5076,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml index 9d48612138c..a26043a52df 100644 --- a/.github/workflows/org-health-report.lock.yml +++ b/.github/workflows/org-health-report.lock.yml @@ -6942,6 +6942,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7221,6 +7222,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml index 5aeaa61f4a2..c54c6670ce7 100644 --- a/.github/workflows/pdf-summary.lock.yml +++ b/.github/workflows/pdf-summary.lock.yml @@ -783,6 +783,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1268,6 +1269,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6864,6 +6866,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index 8c4b65b4a59..5f7bfa3ec11 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -811,6 +811,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1308,6 +1309,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -8030,6 +8032,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -8500,6 +8503,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml index 6ae3adb3ff5..57354d8a013 100644 --- a/.github/workflows/pr-nitpick-reviewer.lock.yml +++ b/.github/workflows/pr-nitpick-reviewer.lock.yml @@ -711,6 +711,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1199,6 +1200,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7190,6 +7192,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7470,6 +7473,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index 7153b3c3222..d6db782cd91 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -6602,6 +6602,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6882,6 +6883,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index ee8696b0fa6..38faf313277 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -7176,6 +7176,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7454,6 +7455,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 08d11d47caf..3032df7f840 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -1021,6 +1021,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1509,6 +1510,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -7452,6 +7454,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml index 56c97dca307..39802f151b5 100644 --- a/.github/workflows/release.lock.yml +++ b/.github/workflows/release.lock.yml @@ -5532,6 +5532,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5971,19 +5972,19 @@ jobs: - name: Download Go modules run: go mod download - name: Generate SBOM (SPDX format) - uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0 + uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0.20.10 with: artifact-name: sbom.spdx.json format: spdx-json output-file: sbom.spdx.json - name: Generate SBOM (CycloneDX format) - uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0 + uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0.20.10 with: artifact-name: sbom.cdx.json format: cyclonedx-json output-file: sbom.cdx.json - name: Upload SBOM artifacts - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 with: name: sbom-artifacts path: | diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml index 958c29d074c..ab6cae4ad2c 100644 --- a/.github/workflows/repo-tree-map.lock.yml +++ b/.github/workflows/repo-tree-map.lock.yml @@ -5479,6 +5479,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5758,6 +5759,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml index 862d5f68553..c71815b8ed0 100644 --- a/.github/workflows/repository-quality-improver.lock.yml +++ b/.github/workflows/repository-quality-improver.lock.yml @@ -6386,6 +6386,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6665,6 +6666,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml index 08edd0ddee6..495493b2ed1 100644 --- a/.github/workflows/research.lock.yml +++ b/.github/workflows/research.lock.yml @@ -5325,6 +5325,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5603,6 +5604,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index 7568ef2cbed..9427ec16924 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -5625,6 +5625,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5904,6 +5905,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index 1c65e73ebd5..5de50fbfcba 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -5403,6 +5403,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5683,6 +5684,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index 562790b0b2a..594bf45d1c7 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -982,6 +982,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1467,6 +1468,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6757,6 +6759,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/security-fix-pr.lock.yml b/.github/workflows/security-fix-pr.lock.yml index 9f096785651..aecd5c22008 100644 --- a/.github/workflows/security-fix-pr.lock.yml +++ b/.github/workflows/security-fix-pr.lock.yml @@ -4891,6 +4891,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index aa3578c1900..932fdee0b3c 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -5738,6 +5738,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index d6ec666dcad..b735e3b6250 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -408,6 +408,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -897,6 +898,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6590,6 +6592,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml index b11d142ed48..ad7e3fa6baa 100644 --- a/.github/workflows/smoke-codex.lock.yml +++ b/.github/workflows/smoke-codex.lock.yml @@ -287,6 +287,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -776,6 +777,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6376,6 +6378,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/smoke-copilot-no-firewall.lock.yml b/.github/workflows/smoke-copilot-no-firewall.lock.yml index d2c5308b51a..0997f04f5f9 100644 --- a/.github/workflows/smoke-copilot-no-firewall.lock.yml +++ b/.github/workflows/smoke-copilot-no-firewall.lock.yml @@ -299,6 +299,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -788,6 +789,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6658,6 +6660,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/smoke-copilot-playwright.lock.yml b/.github/workflows/smoke-copilot-playwright.lock.yml index 8039bd7aec9..f34215bde1f 100644 --- a/.github/workflows/smoke-copilot-playwright.lock.yml +++ b/.github/workflows/smoke-copilot-playwright.lock.yml @@ -347,6 +347,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -836,6 +837,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6952,6 +6954,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 59f47a495f1..32a4ff971fb 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -278,6 +278,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -767,6 +768,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6838,6 +6840,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/smoke-detector.lock.yml b/.github/workflows/smoke-detector.lock.yml index df9ed856805..8d8d519164f 100644 --- a/.github/workflows/smoke-detector.lock.yml +++ b/.github/workflows/smoke-detector.lock.yml @@ -619,6 +619,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1108,6 +1109,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6378,6 +6380,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/smoke-srt.lock.yml b/.github/workflows/smoke-srt.lock.yml index c34cd30b5df..2ff0667df60 100644 --- a/.github/workflows/smoke-srt.lock.yml +++ b/.github/workflows/smoke-srt.lock.yml @@ -4985,6 +4985,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml index ef180655817..68191a2c745 100644 --- a/.github/workflows/stale-repo-identifier.lock.yml +++ b/.github/workflows/stale-repo-identifier.lock.yml @@ -7041,6 +7041,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index 80844fb539d..18ce1de9ca6 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -5429,6 +5429,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5708,6 +5709,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml index 58964783d1e..861b85b8840 100644 --- a/.github/workflows/super-linter.lock.yml +++ b/.github/workflows/super-linter.lock.yml @@ -5623,6 +5623,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index ea4ce1479ca..24f0cd3b8eb 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -764,6 +764,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6713,6 +6714,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/test-python-safe-input.lock.yml b/.github/workflows/test-python-safe-input.lock.yml index abe9e1af725..f8b010854af 100644 --- a/.github/workflows/test-python-safe-input.lock.yml +++ b/.github/workflows/test-python-safe-input.lock.yml @@ -6362,6 +6362,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index 28b1ab378a2..885b7a595e7 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -359,6 +359,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5830,6 +5831,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index 5ced54b7912..3fe43d8e6ef 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -5689,6 +5689,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -5968,6 +5969,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index ab1d6474747..43967668fbc 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -644,6 +644,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -1132,6 +1133,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6523,6 +6525,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml index 93a5f47d292..c8e0bb88a2b 100644 --- a/.github/workflows/video-analyzer.lock.yml +++ b/.github/workflows/video-analyzer.lock.yml @@ -5667,6 +5667,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml index 224015d32fc..d74240ef34a 100644 --- a/.github/workflows/weekly-issue-summary.lock.yml +++ b/.github/workflows/weekly-issue-summary.lock.yml @@ -6408,6 +6408,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { @@ -6689,6 +6690,7 @@ jobs: runStarted: rawMessages.runStarted, runSuccess: rawMessages.runSuccess, runFailure: rawMessages.runFailure, + detectionFailure: rawMessages.detectionFailure, closeOlderDiscussion: rawMessages.closeOlderDiscussion, }; } catch (error) { From 74040b6815d0cefc2939b3046b80804380a90998 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 6 Dec 2025 14:20:00 +0000 Subject: [PATCH 5/6] Add changeset for detection failure reporting in conclusion [skip-ci] job --- .changeset/patch-detection-failure-reporting.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/patch-detection-failure-reporting.md diff --git a/.changeset/patch-detection-failure-reporting.md b/.changeset/patch-detection-failure-reporting.md new file mode 100644 index 00000000000..9b841d9c161 --- /dev/null +++ b/.changeset/patch-detection-failure-reporting.md @@ -0,0 +1,7 @@ +--- +"gh-aw": patch +--- + +Detect and report detection job failures in the conclusion job. Adds support for a +`safe-outputs.messages.detection-failure` message, updates `notify_comment` and +message rendering, and includes tests covering detection failure scenarios. From 29f27beb57c42c47e60f995e577846b6926e381e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 6 Dec 2025 14:26:51 +0000 Subject: [PATCH 6/6] Simplify getMessages() using direct JSON.parse return Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/ai-triage-campaign.lock.yml | 13 +---- .github/workflows/archie.lock.yml | 39 ++------------ .github/workflows/artifacts-summary.lock.yml | 26 +--------- .github/workflows/audit-workflows.lock.yml | 26 +--------- .github/workflows/blog-auditor.lock.yml | 26 +--------- .github/workflows/brave.lock.yml | 39 ++------------ .../breaking-change-checker.lock.yml | 13 +---- .github/workflows/changeset.lock.yml | 26 +--------- .github/workflows/ci-doctor.lock.yml | 26 +--------- .../cli-consistency-checker.lock.yml | 13 +---- .../workflows/cli-version-checker.lock.yml | 13 +---- .github/workflows/cloclo.lock.yml | 39 ++------------ .../workflows/close-old-discussions.lock.yml | 13 +---- .../commit-changes-analyzer.lock.yml | 26 +--------- .../workflows/copilot-agent-analysis.lock.yml | 26 +--------- .../copilot-pr-merged-report.lock.yml | 26 +--------- .../copilot-pr-nlp-analysis.lock.yml | 26 +--------- .../copilot-pr-prompt-analysis.lock.yml | 26 +--------- .../copilot-session-insights.lock.yml | 26 +--------- .github/workflows/craft.lock.yml | 39 ++------------ .../daily-assign-issue-to-user.lock.yml | 26 +--------- .github/workflows/daily-code-metrics.lock.yml | 26 +--------- .../daily-copilot-token-report.lock.yml | 26 +--------- .github/workflows/daily-doc-updater.lock.yml | 13 +---- .github/workflows/daily-fact.lock.yml | 26 +--------- .github/workflows/daily-file-diet.lock.yml | 13 +---- .../workflows/daily-firewall-report.lock.yml | 26 +--------- .../workflows/daily-issues-report.lock.yml | 26 +--------- .../daily-malicious-code-scan.lock.yml | 13 +---- .../daily-multi-device-docs-tester.lock.yml | 13 +---- .github/workflows/daily-news.lock.yml | 26 +--------- .../daily-performance-summary.lock.yml | 26 +--------- .../workflows/daily-repo-chronicle.lock.yml | 26 +--------- .github/workflows/daily-team-status.lock.yml | 24 +-------- .../workflows/daily-workflow-updater.lock.yml | 13 +---- .github/workflows/deep-report.lock.yml | 26 +--------- .../workflows/dependabot-go-checker.lock.yml | 13 +---- .github/workflows/dev-hawk.lock.yml | 26 +--------- .../developer-docs-consolidator.lock.yml | 26 +--------- .github/workflows/dictation-prompt.lock.yml | 13 +---- .github/workflows/docs-noob-tester.lock.yml | 26 +--------- .../duplicate-code-detector.lock.yml | 13 +---- .../example-workflow-analyzer.lock.yml | 26 +--------- .../github-mcp-structural-analysis.lock.yml | 26 +--------- .../github-mcp-tools-report.lock.yml | 26 +--------- .../workflows/glossary-maintainer.lock.yml | 13 +---- .github/workflows/go-fan.lock.yml | 26 +--------- .github/workflows/go-logger.lock.yml | 13 +---- .../workflows/go-pattern-detector.lock.yml | 13 +---- .github/workflows/grumpy-reviewer.lock.yml | 39 ++------------ .../workflows/instructions-janitor.lock.yml | 13 +---- .github/workflows/issue-arborist.lock.yml | 26 +--------- .github/workflows/issue-classifier.lock.yml | 26 +--------- .github/workflows/issue-monster.lock.yml | 26 +--------- .github/workflows/issue-triage-agent.lock.yml | 13 +---- .github/workflows/lockfile-stats.lock.yml | 26 +--------- .github/workflows/mcp-inspector.lock.yml | 26 +--------- .github/workflows/mergefest.lock.yml | 26 +--------- .../workflows/notion-issue-summary.lock.yml | 13 +---- .github/workflows/org-health-report.lock.yml | 26 +--------- .github/workflows/pdf-summary.lock.yml | 39 ++------------ .github/workflows/plan.lock.yml | 26 +--------- .github/workflows/poem-bot.lock.yml | 52 ++----------------- .../workflows/pr-nitpick-reviewer.lock.yml | 52 ++----------------- .../prompt-clustering-analysis.lock.yml | 26 +--------- .github/workflows/python-data-charts.lock.yml | 26 +--------- .github/workflows/q.lock.yml | 39 ++------------ .github/workflows/release.lock.yml | 19 ++----- .github/workflows/repo-tree-map.lock.yml | 26 +--------- .../repository-quality-improver.lock.yml | 26 +--------- .github/workflows/research.lock.yml | 26 +--------- .github/workflows/safe-output-health.lock.yml | 26 +--------- .../schema-consistency-checker.lock.yml | 26 +--------- .github/workflows/scout.lock.yml | 39 ++------------ .github/workflows/security-fix-pr.lock.yml | 13 +---- .../semantic-function-refactor.lock.yml | 13 +---- .github/workflows/smoke-claude.lock.yml | 39 ++------------ .github/workflows/smoke-codex.lock.yml | 39 ++------------ .../smoke-copilot-no-firewall.lock.yml | 39 ++------------ .../smoke-copilot-playwright.lock.yml | 39 ++------------ .github/workflows/smoke-copilot.lock.yml | 39 ++------------ .github/workflows/smoke-detector.lock.yml | 39 ++------------ .github/workflows/smoke-srt.lock.yml | 13 +---- .../workflows/stale-repo-identifier.lock.yml | 13 +---- .../workflows/static-analysis-report.lock.yml | 26 +--------- .github/workflows/super-linter.lock.yml | 13 +---- .../workflows/technical-doc-writer.lock.yml | 26 +--------- .../workflows/test-python-safe-input.lock.yml | 13 +---- .github/workflows/tidy.lock.yml | 26 +--------- .github/workflows/typist.lock.yml | 26 +--------- .github/workflows/unbloat-docs.lock.yml | 39 ++------------ .github/workflows/video-analyzer.lock.yml | 13 +---- .../workflows/weekly-issue-summary.lock.yml | 26 +--------- pkg/workflow/js/messages_core.cjs | 15 +----- 94 files changed, 182 insertions(+), 2151 deletions(-) diff --git a/.github/workflows/ai-triage-campaign.lock.yml b/.github/workflows/ai-triage-campaign.lock.yml index 2d36e3b7074..4db0f6f3395 100644 --- a/.github/workflows/ai-triage-campaign.lock.yml +++ b/.github/workflows/ai-triage-campaign.lock.yml @@ -5780,18 +5780,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml index a9cd6e9efe1..b8ba5e78346 100644 --- a/.github/workflows/archie.lock.yml +++ b/.github/workflows/archie.lock.yml @@ -792,18 +792,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1278,18 +1267,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6896,18 +6874,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml index 1c7b9ffd488..aa82823582e 100644 --- a/.github/workflows/artifacts-summary.lock.yml +++ b/.github/workflows/artifacts-summary.lock.yml @@ -5390,18 +5390,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5693,18 +5682,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index 914f893db8a..0bbe2354e70 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -6155,18 +6155,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6436,18 +6425,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index bb4f9e91d61..b309403ec17 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -5271,18 +5271,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5553,18 +5542,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml index 2342cc61aad..d9e1ce4f809 100644 --- a/.github/workflows/brave.lock.yml +++ b/.github/workflows/brave.lock.yml @@ -689,18 +689,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1175,18 +1164,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6688,18 +6666,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/breaking-change-checker.lock.yml b/.github/workflows/breaking-change-checker.lock.yml index cf128304c72..df5fdc059c6 100644 --- a/.github/workflows/breaking-change-checker.lock.yml +++ b/.github/workflows/breaking-change-checker.lock.yml @@ -5462,18 +5462,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/changeset.lock.yml b/.github/workflows/changeset.lock.yml index d02684fcfce..7831e17993a 100644 --- a/.github/workflows/changeset.lock.yml +++ b/.github/workflows/changeset.lock.yml @@ -833,18 +833,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5885,18 +5874,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml index 3141a3224bb..ea44ece4521 100644 --- a/.github/workflows/ci-doctor.lock.yml +++ b/.github/workflows/ci-doctor.lock.yml @@ -495,18 +495,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6161,18 +6150,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml index 461cf795746..48520d15e26 100644 --- a/.github/workflows/cli-consistency-checker.lock.yml +++ b/.github/workflows/cli-consistency-checker.lock.yml @@ -5457,18 +5457,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index ac40b822255..6b83ab63600 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -5218,18 +5218,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml index 5a2b2077104..42c0b2c40d3 100644 --- a/.github/workflows/cloclo.lock.yml +++ b/.github/workflows/cloclo.lock.yml @@ -891,18 +891,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1380,18 +1369,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6700,18 +6678,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/close-old-discussions.lock.yml b/.github/workflows/close-old-discussions.lock.yml index c5743f868ee..006ef0202b5 100644 --- a/.github/workflows/close-old-discussions.lock.yml +++ b/.github/workflows/close-old-discussions.lock.yml @@ -5498,18 +5498,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index 8ee48ccaa4f..6c6c179a5d8 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -5149,18 +5149,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5428,18 +5417,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index cde6201538c..1a7ad4ddba2 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -5831,18 +5831,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6112,18 +6101,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml index 4b09ac7fb29..0623aeee8b5 100644 --- a/.github/workflows/copilot-pr-merged-report.lock.yml +++ b/.github/workflows/copilot-pr-merged-report.lock.yml @@ -6723,18 +6723,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7004,18 +6993,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index 41195e1e831..c530f69679b 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -6937,18 +6937,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7218,18 +7207,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index b14d6ffc5ef..e63615b5293 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -6018,18 +6018,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6299,18 +6288,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 7c08d510a48..6e2b298dcea 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -7241,18 +7241,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7522,18 +7511,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml index ceb9980113c..0d377ac75d3 100644 --- a/.github/workflows/craft.lock.yml +++ b/.github/workflows/craft.lock.yml @@ -847,18 +847,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1333,18 +1322,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7042,18 +7020,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml index 276520493f7..f3569027331 100644 --- a/.github/workflows/daily-assign-issue-to-user.lock.yml +++ b/.github/workflows/daily-assign-issue-to-user.lock.yml @@ -305,18 +305,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6293,18 +6282,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index 2ed432c8457..4c0ad7ae19d 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -6284,18 +6284,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6565,18 +6554,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-copilot-token-report.lock.yml b/.github/workflows/daily-copilot-token-report.lock.yml index 5c3ca8129c5..8ef14bc749a 100644 --- a/.github/workflows/daily-copilot-token-report.lock.yml +++ b/.github/workflows/daily-copilot-token-report.lock.yml @@ -7108,18 +7108,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7389,18 +7378,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index 56845c523e7..b023ff1550a 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -4953,18 +4953,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml index 99b3ac55fb3..4940b1de34f 100644 --- a/.github/workflows/daily-fact.lock.yml +++ b/.github/workflows/daily-fact.lock.yml @@ -369,18 +369,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5273,18 +5262,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml index 1782480dd97..df17cc94b93 100644 --- a/.github/workflows/daily-file-diet.lock.yml +++ b/.github/workflows/daily-file-diet.lock.yml @@ -5224,18 +5224,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index 86165fdeea6..d99d8785a0a 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -6530,18 +6530,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6811,18 +6800,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml index 533ba51d89e..51f9376f749 100644 --- a/.github/workflows/daily-issues-report.lock.yml +++ b/.github/workflows/daily-issues-report.lock.yml @@ -7108,18 +7108,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7390,18 +7379,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-malicious-code-scan.lock.yml b/.github/workflows/daily-malicious-code-scan.lock.yml index 98888f1e80a..09b2f6e5394 100644 --- a/.github/workflows/daily-malicious-code-scan.lock.yml +++ b/.github/workflows/daily-malicious-code-scan.lock.yml @@ -5693,18 +5693,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index c37d72a42f1..26012c1cdb9 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -4860,18 +4860,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index b123a25a275..333acc34ea4 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -6997,18 +6997,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7278,18 +7267,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml index 2e01c7b7834..0c0532a6be2 100644 --- a/.github/workflows/daily-performance-summary.lock.yml +++ b/.github/workflows/daily-performance-summary.lock.yml @@ -8002,18 +8002,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -8284,18 +8273,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index 10ec92627d8..915eb7f63d5 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -6541,18 +6541,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6822,18 +6811,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index e005486081f..4f474a8b0e3 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -5292,17 +5292,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5575,17 +5565,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml index fe620f4e06e..66e339424b4 100644 --- a/.github/workflows/daily-workflow-updater.lock.yml +++ b/.github/workflows/daily-workflow-updater.lock.yml @@ -5459,18 +5459,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml index 9ad7f5965df..4ac8e187a85 100644 --- a/.github/workflows/deep-report.lock.yml +++ b/.github/workflows/deep-report.lock.yml @@ -5758,18 +5758,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6039,18 +6028,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml index e5ed0d60ba9..1aa8e348cd9 100644 --- a/.github/workflows/dependabot-go-checker.lock.yml +++ b/.github/workflows/dependabot-go-checker.lock.yml @@ -6072,18 +6072,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index 398284e41d3..926ec7c0caa 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -420,18 +420,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5923,18 +5912,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index b06a86ccbaa..1e2c6849aeb 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -6037,18 +6037,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6317,18 +6306,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index 59007caed92..28f309b57b2 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -5404,18 +5404,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml index a16b8c0d7b6..2f1d6e350d0 100644 --- a/.github/workflows/docs-noob-tester.lock.yml +++ b/.github/workflows/docs-noob-tester.lock.yml @@ -5476,18 +5476,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5756,18 +5745,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/duplicate-code-detector.lock.yml b/.github/workflows/duplicate-code-detector.lock.yml index 758f4728ddc..2c49ddbdaec 100644 --- a/.github/workflows/duplicate-code-detector.lock.yml +++ b/.github/workflows/duplicate-code-detector.lock.yml @@ -5040,18 +5040,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index 52a49cfbfe2..98b892dc77f 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -4725,18 +4725,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5006,18 +4995,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml index 34853f3fed0..4cb4a6899a3 100644 --- a/.github/workflows/github-mcp-structural-analysis.lock.yml +++ b/.github/workflows/github-mcp-structural-analysis.lock.yml @@ -5964,18 +5964,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6245,18 +6234,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index f9298711aff..8feae9b80a5 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -5744,18 +5744,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6024,18 +6013,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 3851212bedf..656f8186653 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -6431,18 +6431,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml index 91cd6018338..a6548a4eb54 100644 --- a/.github/workflows/go-fan.lock.yml +++ b/.github/workflows/go-fan.lock.yml @@ -5341,18 +5341,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5623,18 +5612,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index fdb78b3223c..0c3529a7bc4 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -5179,18 +5179,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index 21aa7504330..6c1319502d5 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -4889,18 +4889,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml index 9aaa5ba5c49..657ca2060a4 100644 --- a/.github/workflows/grumpy-reviewer.lock.yml +++ b/.github/workflows/grumpy-reviewer.lock.yml @@ -722,18 +722,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1208,18 +1197,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6839,18 +6817,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index 0f9132aeb19..9a568cdd598 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -4944,18 +4944,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml index 967aa102fbe..e39e71af114 100644 --- a/.github/workflows/issue-arborist.lock.yml +++ b/.github/workflows/issue-arborist.lock.yml @@ -5056,18 +5056,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5337,18 +5326,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/issue-classifier.lock.yml b/.github/workflows/issue-classifier.lock.yml index 611ab482b1f..da6fddb6849 100644 --- a/.github/workflows/issue-classifier.lock.yml +++ b/.github/workflows/issue-classifier.lock.yml @@ -615,18 +615,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -4596,18 +4585,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/issue-monster.lock.yml b/.github/workflows/issue-monster.lock.yml index 0df7ff51356..f6c3d8244db 100644 --- a/.github/workflows/issue-monster.lock.yml +++ b/.github/workflows/issue-monster.lock.yml @@ -544,18 +544,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6672,18 +6661,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml index 10170de6faa..8ddf47a705f 100644 --- a/.github/workflows/issue-triage-agent.lock.yml +++ b/.github/workflows/issue-triage-agent.lock.yml @@ -5564,18 +5564,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index 216f6119b14..a02673cba1c 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -5384,18 +5384,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5664,18 +5653,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index 377195f292e..36db9c9d0b7 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -6066,18 +6066,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6346,18 +6335,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml index 1af2a6d96eb..2b41223fdb7 100644 --- a/.github/workflows/mergefest.lock.yml +++ b/.github/workflows/mergefest.lock.yml @@ -544,18 +544,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6179,18 +6168,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/notion-issue-summary.lock.yml b/.github/workflows/notion-issue-summary.lock.yml index 28926259405..01abe7fc6d4 100644 --- a/.github/workflows/notion-issue-summary.lock.yml +++ b/.github/workflows/notion-issue-summary.lock.yml @@ -5067,18 +5067,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml index a26043a52df..34564994833 100644 --- a/.github/workflows/org-health-report.lock.yml +++ b/.github/workflows/org-health-report.lock.yml @@ -6933,18 +6933,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7213,18 +7202,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml index c54c6670ce7..b71137e2d1e 100644 --- a/.github/workflows/pdf-summary.lock.yml +++ b/.github/workflows/pdf-summary.lock.yml @@ -774,18 +774,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1260,18 +1249,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6857,18 +6835,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml index e497aefd6f7..7d7fc73f9a8 100644 --- a/.github/workflows/plan.lock.yml +++ b/.github/workflows/plan.lock.yml @@ -706,18 +706,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6558,18 +6547,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index 5f7bfa3ec11..a5c75f3a7c9 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -802,18 +802,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1300,18 +1289,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -8023,18 +8001,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -8494,18 +8461,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml index 57354d8a013..a17c8a0bc81 100644 --- a/.github/workflows/pr-nitpick-reviewer.lock.yml +++ b/.github/workflows/pr-nitpick-reviewer.lock.yml @@ -702,18 +702,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1191,18 +1180,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7183,18 +7161,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7464,18 +7431,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index d6db782cd91..ec8811c3737 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -6593,18 +6593,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6874,18 +6863,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index 38faf313277..b2d2a22329b 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -7167,18 +7167,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7446,18 +7435,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index 3032df7f840..6a7abe19237 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -1012,18 +1012,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1501,18 +1490,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -7445,18 +7423,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml index 39802f151b5..2b64b5cb8f3 100644 --- a/.github/workflows/release.lock.yml +++ b/.github/workflows/release.lock.yml @@ -5523,18 +5523,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5972,19 +5961,19 @@ jobs: - name: Download Go modules run: go mod download - name: Generate SBOM (SPDX format) - uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0.20.10 + uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0 with: artifact-name: sbom.spdx.json format: spdx-json output-file: sbom.spdx.json - name: Generate SBOM (CycloneDX format) - uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0.20.10 + uses: anchore/sbom-action@fbfd9c6c189226748411491745178e0c2017392d # v0 with: artifact-name: sbom.cdx.json format: cyclonedx-json output-file: sbom.cdx.json - name: Upload SBOM artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: sbom-artifacts path: | diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml index ab6cae4ad2c..ccb62e50b4e 100644 --- a/.github/workflows/repo-tree-map.lock.yml +++ b/.github/workflows/repo-tree-map.lock.yml @@ -5470,18 +5470,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5750,18 +5739,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml index c71815b8ed0..c39b553cfd2 100644 --- a/.github/workflows/repository-quality-improver.lock.yml +++ b/.github/workflows/repository-quality-improver.lock.yml @@ -6377,18 +6377,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6657,18 +6646,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml index 495493b2ed1..14b1d566f51 100644 --- a/.github/workflows/research.lock.yml +++ b/.github/workflows/research.lock.yml @@ -5316,18 +5316,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5595,18 +5584,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index 9427ec16924..0209318a769 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -5616,18 +5616,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5896,18 +5885,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index 5de50fbfcba..4b8eec12c46 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -5394,18 +5394,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5675,18 +5664,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index 594bf45d1c7..c1d64219106 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -973,18 +973,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1459,18 +1448,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6750,18 +6728,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/security-fix-pr.lock.yml b/.github/workflows/security-fix-pr.lock.yml index aecd5c22008..40ad17d5a96 100644 --- a/.github/workflows/security-fix-pr.lock.yml +++ b/.github/workflows/security-fix-pr.lock.yml @@ -4882,18 +4882,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index 932fdee0b3c..0b47507ad2a 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -5729,18 +5729,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index b735e3b6250..7d59722f5b0 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -399,18 +399,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -889,18 +878,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6583,18 +6561,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml index ad7e3fa6baa..5ca3eb8a9fd 100644 --- a/.github/workflows/smoke-codex.lock.yml +++ b/.github/workflows/smoke-codex.lock.yml @@ -278,18 +278,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -768,18 +757,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6369,18 +6347,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/smoke-copilot-no-firewall.lock.yml b/.github/workflows/smoke-copilot-no-firewall.lock.yml index 0997f04f5f9..72e069a9808 100644 --- a/.github/workflows/smoke-copilot-no-firewall.lock.yml +++ b/.github/workflows/smoke-copilot-no-firewall.lock.yml @@ -290,18 +290,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -780,18 +769,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6651,18 +6629,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/smoke-copilot-playwright.lock.yml b/.github/workflows/smoke-copilot-playwright.lock.yml index f34215bde1f..fc2b4a63653 100644 --- a/.github/workflows/smoke-copilot-playwright.lock.yml +++ b/.github/workflows/smoke-copilot-playwright.lock.yml @@ -338,18 +338,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -828,18 +817,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6945,18 +6923,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 32a4ff971fb..d6c03542744 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -269,18 +269,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -759,18 +748,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6831,18 +6809,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/smoke-detector.lock.yml b/.github/workflows/smoke-detector.lock.yml index 8d8d519164f..364877e5738 100644 --- a/.github/workflows/smoke-detector.lock.yml +++ b/.github/workflows/smoke-detector.lock.yml @@ -610,18 +610,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1100,18 +1089,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6371,18 +6349,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/smoke-srt.lock.yml b/.github/workflows/smoke-srt.lock.yml index 2ff0667df60..93bf0800fad 100644 --- a/.github/workflows/smoke-srt.lock.yml +++ b/.github/workflows/smoke-srt.lock.yml @@ -4976,18 +4976,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml index 68191a2c745..1e5d4aef815 100644 --- a/.github/workflows/stale-repo-identifier.lock.yml +++ b/.github/workflows/stale-repo-identifier.lock.yml @@ -7032,18 +7032,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index 18ce1de9ca6..c0e3df1d55c 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -5420,18 +5420,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5700,18 +5689,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml index 861b85b8840..049aa237509 100644 --- a/.github/workflows/super-linter.lock.yml +++ b/.github/workflows/super-linter.lock.yml @@ -5614,18 +5614,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index 24f0cd3b8eb..a38fd19f01e 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -755,18 +755,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6705,18 +6694,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/test-python-safe-input.lock.yml b/.github/workflows/test-python-safe-input.lock.yml index f8b010854af..82015004af0 100644 --- a/.github/workflows/test-python-safe-input.lock.yml +++ b/.github/workflows/test-python-safe-input.lock.yml @@ -6353,18 +6353,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index 885b7a595e7..7f8f3c10585 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -350,18 +350,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5822,18 +5811,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index 3fe43d8e6ef..20ac51779ac 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -5680,18 +5680,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -5960,18 +5949,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index 43967668fbc..46263df7c6c 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -635,18 +635,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -1124,18 +1113,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6516,18 +6494,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml index c8e0bb88a2b..6d5837634e6 100644 --- a/.github/workflows/video-analyzer.lock.yml +++ b/.github/workflows/video-analyzer.lock.yml @@ -5658,18 +5658,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml index d74240ef34a..2a2db792692 100644 --- a/.github/workflows/weekly-issue-summary.lock.yml +++ b/.github/workflows/weekly-issue-summary.lock.yml @@ -6399,18 +6399,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; @@ -6681,18 +6670,7 @@ jobs: return null; } try { - const rawMessages = JSON.parse(messagesEnv); - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null; diff --git a/pkg/workflow/js/messages_core.cjs b/pkg/workflow/js/messages_core.cjs index c9af2642872..ce38d3afed9 100644 --- a/pkg/workflow/js/messages_core.cjs +++ b/pkg/workflow/js/messages_core.cjs @@ -45,20 +45,7 @@ function getMessages() { try { // Parse JSON with camelCase keys from Go struct (using json struct tags) - const rawMessages = JSON.parse(messagesEnv); - - // Use camelCase keys directly from Go struct JSON serialization - return { - footer: rawMessages.footer, - footerInstall: rawMessages.footerInstall, - stagedTitle: rawMessages.stagedTitle, - stagedDescription: rawMessages.stagedDescription, - runStarted: rawMessages.runStarted, - runSuccess: rawMessages.runSuccess, - runFailure: rawMessages.runFailure, - detectionFailure: rawMessages.detectionFailure, - closeOlderDiscussion: rawMessages.closeOlderDiscussion, - }; + return JSON.parse(messagesEnv); } catch (error) { core.warning(`Failed to parse GH_AW_SAFE_OUTPUT_MESSAGES: ${error instanceof Error ? error.message : String(error)}`); return null;