From 2205f68e48630ca56d306ce21a4d3c4b3e5ca8af Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 19:31:15 +0000 Subject: [PATCH] chore: publish from staged --- .github/workflows/external-plugin-intake.yml | 4 ++-- .../external-plugin-rerun-intake-command.yml | 7 +++++-- eng/external-plugin-intake.mjs | 21 +++++++++++++------ 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.github/workflows/external-plugin-intake.yml b/.github/workflows/external-plugin-intake.yml index 4c98f0e0..c7e25906 100644 --- a/.github/workflows/external-plugin-intake.yml +++ b/.github/workflows/external-plugin-intake.yml @@ -53,7 +53,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - result=$(node ./eng/external-plugin-intake.mjs "$GITHUB_EVENT_PATH") + result=$(node ./eng/external-plugin-intake.mjs "$GITHUB_EVENT_PATH" "${{ github.run_id }}" "${{ github.repository_owner }}" "${{ github.event.repository.name }}") { echo 'result< `- ${warning}`)].join("\n") : "", + runLink ? `\n${runLink}` : "", ].filter(Boolean).join("\n"); } -export function applyQualityGateResult(baseEvaluation, qualityGateResult) { +export function applyQualityGateResult(baseEvaluation, qualityGateResult, runId, owner, repo) { const baseResult = typeof baseEvaluation === "string" ? JSON.parse(baseEvaluation) : baseEvaluation; const qualityResult = normalizeQualityGateResult( typeof qualityGateResult === "string" ? JSON.parse(qualityGateResult) : qualityGateResult, @@ -481,11 +483,11 @@ export function applyQualityGateResult(baseEvaluation, qualityGateResult) { ...baseResult, qualityGates: qualityResult, intakeState, - commentBody: buildMergedIntakeComment(baseResult, qualityResult), + commentBody: buildMergedIntakeComment(baseResult, qualityResult, runId, owner, repo), }; } -export async function evaluateExternalPluginIssue({ issue, token } = {}) { +export async function evaluateExternalPluginIssue({ issue, token, runId, owner, repo } = {}) { const issueBody = issue?.body ?? ""; const parsed = parseExternalPluginIssueBody(issueBody); const errors = [...parsed.errors]; @@ -529,6 +531,8 @@ export async function evaluateExternalPluginIssue({ issue, token } = {}) { ].join("\n") : "```json\n{}\n```"; + const runLink = runId && owner && repo ? `_[View workflow run](https://github.com/${owner}/${repo}/actions/runs/${runId})_` : ""; + const commentBody = valid ? [ marker, @@ -552,6 +556,7 @@ export async function evaluateExternalPluginIssue({ issue, token } = {}) { dedupedWarnings.length > 0 ? ["", "### Warnings", "", ...dedupedWarnings.map((warning) => `- ${warning}`)].join("\n") : "", + runLink ? `\n${runLink}` : "", ].filter(Boolean).join("\n") : [ marker, @@ -566,6 +571,7 @@ export async function evaluateExternalPluginIssue({ issue, token } = {}) { dedupedWarnings.length > 0 ? ["", "### Warnings", "", ...dedupedWarnings.map((warning) => `- ${warning}`)].join("\n") : "", + runLink ? `\n${runLink}` : "", ].filter(Boolean).join("\n"); return { @@ -585,11 +591,14 @@ const isCli = process.argv[1] && fileURLToPath(import.meta.url) === path.resolve if (isCli) { const eventPath = process.argv[2]; if (!eventPath) { - console.error("Usage: node ./eng/external-plugin-intake.mjs "); + console.error("Usage: node ./eng/external-plugin-intake.mjs [runId] [owner] [repo]"); process.exit(1); } const event = JSON.parse(fs.readFileSync(eventPath, "utf8")); - const result = await evaluateExternalPluginIssue({ issue: event.issue, token: process.env.GITHUB_TOKEN }); + const runId = process.argv[3]; + const owner = process.argv[4]; + const repo = process.argv[5]; + const result = await evaluateExternalPluginIssue({ issue: event.issue, token: process.env.GITHUB_TOKEN, runId, owner, repo }); process.stdout.write(JSON.stringify(result)); }