From f461876e8a49288d7c5faffcf0ac9604cba34b74 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:30:09 +0000 Subject: [PATCH] Add pull_request trigger to mark-prs-ready-for-review workflow Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> --- .../workflows/mark-prs-ready-for-review.yml | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/.github/workflows/mark-prs-ready-for-review.yml b/.github/workflows/mark-prs-ready-for-review.yml index c1fe5f2ac..225d4a005 100644 --- a/.github/workflows/mark-prs-ready-for-review.yml +++ b/.github/workflows/mark-prs-ready-for-review.yml @@ -1,6 +1,8 @@ name: Mark Pull Requests Ready for Review on: + pull_request: + types: [opened] workflow_dispatch: schedule: - cron: '0 0 * * *' @@ -17,17 +19,8 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | - const pulls = await github.paginate(github.rest.pulls.list, { - owner: context.repo.owner, - repo: context.repo.repo, - state: 'open', - }); - - const drafts = pulls.filter(pr => pr.draft); - core.info(`Found ${drafts.length} draft pull request(s).`); - - for (const pr of drafts) { - core.info(`Marking PR #${pr.number} "${pr.title}" ready for review.`); + async function markReady(nodeId, number, title) { + core.info(`Marking PR #${number} "${title}" ready for review.`); try { await github.graphql(` mutation($id: ID!) { @@ -35,9 +28,31 @@ jobs: pullRequest { number isDraft } } } - `, { id: pr.node_id }); + `, { id: nodeId }); } catch (err) { - core.warning(`Failed to mark PR #${pr.number} ready for review: ${err.message}`); + core.warning(`Failed to mark PR #${number} ready for review: ${err.message}`); + } + } + + if (context.eventName === 'pull_request') { + const pr = context.payload.pull_request; + if (pr.draft) { + await markReady(pr.node_id, pr.number, pr.title); + } else { + core.info(`PR #${pr.number} is already ready for review. Nothing to do.`); + } + } else { + const pulls = await github.paginate(github.rest.pulls.list, { + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + }); + + const drafts = pulls.filter(pr => pr.draft); + core.info(`Found ${drafts.length} draft pull request(s).`); + + for (const pr of drafts) { + await markReady(pr.node_id, pr.number, pr.title); } }