diff --git a/.github/workflows/get-merge-commit.yml b/.github/workflows/get-merge-commit.yml index 2bb58c5bedb1..8085b3d4d64b 100644 --- a/.github/workflows/get-merge-commit.yml +++ b/.github/workflows/get-merge-commit.yml @@ -68,7 +68,18 @@ jobs: return { mergedSha, targetSha } } else { - throw new Error("The PR has a merge conflict. Skipping the rest...") + console.log("The PR has a merge conflict.") + + const mergedSha = prInfo.head.sha + const targetSha = (await github.rest.repos.compareCommitsWithBasehead({ + owner: context.repo.owner, + repo: context.repo.repo, + basehead: `${prInfo.base.sha}...${prInfo.head.sha}` + })).data.merge_base_commit.sha + + console.log(`Checking the commits:\nmerged:${mergedSha}\ntarget:${targetSha}`) + + return { mergedSha, targetSha } } } throw new Error("Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com.")