Skip to content

Surface and approve pending PR workflows 🤖🤖🤖 - #6314

Open
aaronpowell wants to merge 1 commit into
mainfrom
aaronpowell-pr-workflow-approvals
Open

aaronpowell wants to merge 1 commit into
mainfrom
aaronpowell-pr-workflow-approvals

Conversation

@aaronpowell

Copy link
Copy Markdown
Contributor

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the main branch for this pull request.

Description

Bot-created and other same-repository PRs can have workflows waiting for approval, but the Open PR Board previously only discovered approvals for public forks.

  • Surface eligible waiting workflows on cards and in Checks, with an individual action to approve execution via gh api.
  • Make individual and bulk Approve + auto-merge also approve waiting workflows at the reviewed commit before requesting auto-merge. Confirmation discloses that contributor code will run; required checks remain in force.
  • Recheck the PR head, run attempt and jobs before approving. If a workflow approval fails, report the partial result and do not request auto-merge. Runs with existing jobs are not treated as execution-approval candidates, avoiding confusion with submission gates.

Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • New canvas extension.
  • Update to existing instruction, prompt, agent, plugin, skill, workflow, or canvas extension.
  • Other (please specify):

Additional Notes

  • npm start - passed; no generated README changes. The external catalog reported three existing non-SPDX license warnings.
  • npm run plugin:validate - passed with the same license warnings.
  • node --experimental-vm-modules --test --test-reporter=dot eng\open-pr-board-workflow-approval.test.mjs eng\open-pr-board.test.mjs eng\board-preview.test.mjs eng\board-bulk-actions.test.mjs eng\open-pr-board-prompt-security.test.mjs eng\board-periodic-refresh.test.mjs - passed.
  • bash eng/fix-line-endings.sh - passed.
  • Read-only discovery found the waiting workflows on [bot] Update Learning Hub for CLI settings dashboard and /code #6284. The extension was reloaded, but no manual canvas interaction or live workflow approval POST was performed.
  • GitHub's approval endpoint has no atomic head or attempt precondition; the board rechecks immediately before each write.
  • Paid-services submission guidance and adding a new resource do not apply.

By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@aaronpowell
aaronpowell requested a review from a team as a code owner November 9, 2026 05:53
Copilot AI auto review requested due to automatic review settings November 9, 2026 05:53
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

🚦 Submission status: 👀 Ready for review

Risk tier: merge-risk:high — Privileged execution, automation, or review-policy change
Required to merge: passing submission-gate checks plus 1 approval from reviewers with write access, including a maintainer with admin or maintain permission.

Why this tier
  • .github/extensions/open-pr-board/README.md is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • .github/extensions/open-pr-board/lib/decisions.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • .github/extensions/open-pr-board/lib/github.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • .github/extensions/open-pr-board/lib/review-prompt.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • .github/extensions/open-pr-board/public/app.js is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • .github/extensions/open-pr-board/public/index.html is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • eng/board-bulk-actions.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • eng/board-preview.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • eng/open-pr-board-workflow-approval.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)

Automated checks

Check Status Details
Line endings ✅ Passed Passed · logs
Spelling ✅ Passed Passed · logs
Contributor reputation ✅ Passed Passed · logs
Duplicate resource scan ⚠️ Failed (advisory, non-blocking) The workflow did not complete successfully · logs
PR quality signal ⚠️ Failed (advisory, non-blocking) The workflow did not complete successfully · logs

Action needed

  • ⚠️ Advisory checks did not complete (Duplicate resource scan, PR quality signal). This does not block the PR.

Review

  • Approvals: 0/1
  • Assigned reviewer: not assigned yet — comment /request-review to ask for one
  • Review target date: not set
  • Still needed: 1 more approval(s); an approval from a maintainer with admin or maintain permission
  • The core-maintainers pool is not staffed yet; an approver with admin or maintain permission is required instead.

Commands

Command Who What it does
/rerun-checks PR author, maintainers Re-runs failed or incomplete checks and re-evaluates this gate
/request-review PR author, maintainers Asks the review rotation to assign a reviewer (adds needs-reviewer)

Updated for b95ad2d · gate run · This comment is maintained automatically — see submission gate docs.

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

🟡 Contributor Reputation Check: MEDIUM risk

Check Risk
Profile MEDIUM
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@github-actions github-actions Bot added needs-review:MEDIUM Contributor reputation check flagged MEDIUM risk ready-for-review Submission passed intake validation and is ready for maintainer review and removed awaiting-automation labels Nov 9, 2026
` diff: +${item.additions}/-${item.deletions} across ${item.changedFiles} files`,
` checks: ${checks} | review decision: ${promptData(item.reviewDecision, 50)} | merge state: ${promptData(item.mergeStateStatus, 50)}`,
` fork workflows awaiting execution approval: ${item.workflowApprovals?.length ?? 0}${item.workflowApprovalError ? " (discovery unavailable)" : ""}`,
` workflows awaiting execution approval: ${item.workflowApprovals?.length ?? 0}${item.workflowApprovalError ? " (discovery unavailable)" : ""}`,

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Automatic approval can authorize another PR’s merge-context workflow when an empty pull_requests list bypasses PR-number and base-branch checks.

2 open issues
What changed in this PR

Extends the Open PR Board’s workflow approval support to public same-repository PRs, including bot-created PRs, alongside public forks.

Changes:

  • Surfaces eligible waiting workflows on cards and in Checks, excluding runs with existing jobs.
  • Adds workflow authorization to individual and bulk Approve + auto-merge, with freshness checks and partial-result recording.
  • Updates execution warnings, documentation, and regression coverage.
File Description
eng/​open-pr-board-workflow-approval.test.mjs Covers same-repository discovery, combined approvals, stale state, and partial failures.
eng/​board-preview.test.mjs Checks execution disclosures and pending-workflow rendering.
eng/​board-bulk-actions.test.mjs Verifies bulk approval safety disclosures.
.github/​extensions/​open-pr-board/​README.md Documents eligibility, combined actions, and failure handling.
.github/​extensions/​open-pr-board/​public/​index.html Explains workflow authorization in the action footer.
.github/​extensions/​open-pr-board/​public/​app.js Updates confirmations and the Checks interface.
.github/​extensions/​open-pr-board/​lib/​review-prompt.mjs Broadens review guidance beyond fork workflows.
.github/​extensions/​open-pr-board/​lib/​github.mjs Adds jobs validation and workflow authorization during combined approval.
.github/​extensions/​open-pr-board/​lib/​decisions.mjs Records workflow approvals separately from PR decisions.

Review effort: Max (auto)

Comment on lines +84 to +86
const result = await approveWorkflowRun(repo, number, {
runId: workflow.id, attempt: workflow.attempt, headRefOid,
}, runner);
Comment on lines +82 to +85
for (const workflow of workflows) {
try {
const result = await approveWorkflowRun(repo, number, {
runId: workflow.id, attempt: workflow.attempt, headRefOid,

This branch was successfully deployed

1 active deployment
github-pages — b95ad2d2 Deployed Nov 9, 2026 by aaronpowell via deploy #1350
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk:high needs-review:MEDIUM Contributor reputation check flagged MEDIUM risk ready-for-review Submission passed intake validation and is ready for maintainer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants