From 66e990317c80c20bdd630cf73a5a740c25d3b8bd Mon Sep 17 00:00:00 2001 From: Ella <ella@vandurpe.com> Date: Thu, 27 Jun 2024 08:53:58 +0300 Subject: [PATCH] retrieve PR --- .github/workflows/cherry-pick-wp-release.yml | 34 ++++++++++++++------ 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/.github/workflows/cherry-pick-wp-release.yml b/.github/workflows/cherry-pick-wp-release.yml index d1089aa99f6ae5..a625c3768de99f 100644 --- a/.github/workflows/cherry-pick-wp-release.yml +++ b/.github/workflows/cherry-pick-wp-release.yml @@ -1,10 +1,9 @@ name: Auto Cherry-Pick on: - pull_request: - types: [closed, labeled] + push: branches: - - trunk + - test/trunk # Ensure that new jobs wait for the previous job to finish. concurrency: @@ -14,14 +13,31 @@ concurrency: jobs: cherry-pick: runs-on: ubuntu-latest - if: github.event.pull_request.merged == true steps: - name: Determine if label should trigger cherry-pick id: label-check uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | - const labels = context.payload.pull_request.labels.map(label => label.name); + const prs = await github.rest.repos.listPullRequestsAssociatedWithCommit({ + owner: context.repo.owner, + repo: context.repo.repo, + commit_sha: context.sha, + }); + if (prs.data.length === 0) { + console.log(`No PR found for commit ${context.sha}.`); + return; + } + const pr_number = prs.data[0].number; + console.log(`PR: ${pr_number}`); + core.exportVariable('pr_number', pr_number); + + const pr = await github.rest.pulls.get({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pr_number, + }); + const labels = pr.data.labels.map(label => label.name); console.log(`Labels: ${labels}`); const regex = /^Backport to WP ([0-9]+\.[0-9]+) Beta\/RC$/; let matched = false; @@ -59,7 +75,7 @@ jobs: if: env.cherry_pick == 'true' run: | TARGET_BRANCH="wp/${{ env.version }}" - COMMIT_SHA=$(jq -r '.pull_request.merge_commit_sha' "$GITHUB_EVENT_PATH") + COMMIT_SHA=$(jq -r '.after' "$GITHUB_EVENT_PATH") echo "Target branch: $TARGET_BRANCH" echo "Commit SHA: $COMMIT_SHA" git checkout $TARGET_BRANCH @@ -80,7 +96,7 @@ jobs: uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | - const prNumber = context.issue.number; + const prNumber = process.env.pr_number; const version = process.env.version; console.log(`prNumber: ${prNumber}`); console.log(`version: ${version}`); @@ -104,7 +120,7 @@ jobs: uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | - const prNumber = context.issue.number; + const prNumber = process.env.pr_number; const commitSha = process.env.commit_sha; const targetBranch = `wp/${process.env.version}`; console.log(`prNumber: ${prNumber}`); @@ -122,7 +138,7 @@ jobs: uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | - const prNumber = context.issue.number; + const prNumber = process.env.pr_number; const commitSha = process.env.commit_sha; const targetBranch = `wp/${process.env.version}`; console.log(`prNumber: ${prNumber}`);