From 09c91404ea03d0362bef0da5cd1b08239c5fd5a3 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 22 Nov 2022 15:36:47 +0100 Subject: [PATCH] scripts/patch-release-for-pr: fix version check point and keep diff points Signed-off-by: Patrik Oldsberg --- .github/workflows/automate_merge_message.yml | 4 ++-- scripts/generate-merge-message.js | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/automate_merge_message.yml b/.github/workflows/automate_merge_message.yml index 7ad4aa8fdd..c376f7d0f3 100644 --- a/.github/workflows/automate_merge_message.yml +++ b/.github/workflows/automate_merge_message.yml @@ -25,7 +25,7 @@ jobs: steps: - uses: actions/checkout@v3 with: - ref: '${{ github.event.pull_request.head.sha }}' + ref: '${{ github.event.pull_request.merge_commit_sha }}' - name: fetch base run: git fetch --depth 1 origin ${{ github.event.pull_request.base.sha }} @@ -36,7 +36,7 @@ jobs: run: | rm -f generate.js wget -O generate.js https://raw.githubusercontent.com/backstage/backstage/master/scripts/generate-merge-message.js 1>&2 - node generate.js FETCH_HEAD > message.txt + node generate.js ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} > message.txt - name: Post Message uses: actions/github-script@v6 diff --git a/scripts/generate-merge-message.js b/scripts/generate-merge-message.js index 9b6fb5cbc6..ab8df55d20 100755 --- a/scripts/generate-merge-message.js +++ b/scripts/generate-merge-message.js @@ -21,15 +21,20 @@ const { resolve: resolvePath } = require('path'); const execFile = promisify(execFileCb); -async function hasNewChangesets(ref) { - if (!ref) { - throw new Error('ref is required'); +async function hasNewChangesets(baseRef, headRef) { + if (!baseRef) { + throw new Error('baseRef is required'); + } + if (!headRef) { + throw new Error('headRef is required'); } const { stdout } = await execFile('git', [ 'diff', '--compact-summary', - ref, + baseRef, + headRef, + '--', '.changeset/*.md', ]); return stdout.includes('(new)'); @@ -88,8 +93,9 @@ function findNextRelease(currentRelease, releaseSchedule) { } async function main() { - const [diffRef = 'origin/master'] = process.argv.slice(2); - const needsMessage = await hasNewChangesets(diffRef); + const [diffBaseRefRef = 'origin/master', diffHeadRef = 'HEAD'] = + process.argv.slice(2); + const needsMessage = await hasNewChangesets(diffBaseRefRef, diffHeadRef); if (!needsMessage) { return; }