From 5cdf54dc5f4e8027289c9ecd2b09fbf75b4708c6 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Mon, 3 Mar 2025 09:08:06 +0800 Subject: [PATCH] Add `mergeBlogPost` step to release script (#17199) --- scripts/release/run.js | 6 +++++- scripts/release/steps/index.js | 1 + scripts/release/steps/merge-blog-post.js | 25 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 scripts/release/steps/merge-blog-post.js diff --git a/scripts/release/run.js b/scripts/release/run.js index 78488fda5..17ef88529 100644 --- a/scripts/release/run.js +++ b/scripts/release/run.js @@ -56,13 +56,17 @@ for (let step of [ }, params.manual ? steps.publishToNpm : steps.waitForBotRelease, steps.showInstructionsAfterNpmPublish, + { + name: "Merge release notes PR", + process: steps.mergeBlogPost, + }, steps.updateDependentsCount, - steps.bumpPrettier, { name: "Cleaning changelog", process: steps.cleanChangelog, skip: params.dry || params.next, }, + steps.bumpPrettier, steps.postPublishSteps, ]) { if (typeof step === "function") { diff --git a/scripts/release/steps/index.js b/scripts/release/steps/index.js index df103e975..5a8368903 100644 --- a/scripts/release/steps/index.js +++ b/scripts/release/steps/index.js @@ -5,6 +5,7 @@ export { default as cleanChangelog } from "./clean-changelog.js"; export { default as generateBundles } from "./generate-bundles.js"; export { default as installDependencies } from "./install-dependencies.js"; export { default as lintFiles } from "./lint-files.js"; +export { default as mergeBlogPost } from "./merge-blog-post.js"; export { default as postPublishSteps } from "./post-publish-steps.js"; export { default as publishToNpm } from "./publish-to-npm.js"; export { default as pushToGit } from "./push-to-git.js"; diff --git a/scripts/release/steps/merge-blog-post.js b/scripts/release/steps/merge-blog-post.js new file mode 100644 index 000000000..beb1a153e --- /dev/null +++ b/scripts/release/steps/merge-blog-post.js @@ -0,0 +1,25 @@ +import styleText from "node-style-text"; +import semver from "semver"; +import { runGit, waitForEnter } from "../utils.js"; + +export default async function mergeBlogPost({ + dry, + repo, + version, + previousVersion, +}) { + if (dry) { + return; + } + + if (semver.diff(version, previousVersion) === "patch") { + return; + } + + console.log( + styleText.yellow.bold("Please merge the release notes PR if exits."), + ); + + await waitForEnter(); + await runGit(["pull", "--repo", repo]); +}