diff --git a/scripts/ci/codegen/createGitHubReleases.ts b/scripts/ci/codegen/createGitHubReleases.ts index 87c341e1b9e..ec05a90c00b 100644 --- a/scripts/ci/codegen/createGitHubReleases.ts +++ b/scripts/ci/codegen/createGitHubReleases.ts @@ -5,6 +5,7 @@ import type { Language } from '../../types.js'; import { cloneRepository } from '../utils.js'; import { resolve } from 'path'; +import { stripCommitMessage } from '../../release/common.js'; import { commitStartRelease } from './text.js'; async function createGitHubRelease(lang: Language): Promise { @@ -55,7 +56,7 @@ async function createGitHubRelease(lang: Language): Promise { const content = ` # New ${isMajor ? '**major** ' : ''}version released! ## What's Changed -${changelog} +${stripCommitMessage(changelog)} **Full Changelog**: ${repositoryLink}/compare/${previousVersion}...${newVersion} diff --git a/scripts/release/common.ts b/scripts/release/common.ts index a37c76f5c73..bbb6549fa27 100644 --- a/scripts/release/common.ts +++ b/scripts/release/common.ts @@ -35,3 +35,7 @@ export function getGitAuthor(): { name: string; email: string } { export async function writeJsonFile(ppath: string, data: Record): Promise { await fsp.writeFile(ppath, JSON.stringify(data, null, 2).concat('\n')); } + +export function stripCommitMessage(message: string): string { + return message.replace(/ \[skip-bc\]/g, '').replace(/ \[skip-e2e\]/g, ''); +} diff --git a/scripts/release/createReleasePR.ts b/scripts/release/createReleasePR.ts index d16a265d15a..ac6fb516917 100755 --- a/scripts/release/createReleasePR.ts +++ b/scripts/release/createReleasePR.ts @@ -28,7 +28,7 @@ import { import { getPackageVersionDefault } from '../config.js'; import type { Language } from '../types.js'; -import { getFileChanges, getLastReleasedTag } from './common.js'; +import { getFileChanges, getLastReleasedTag, stripCommitMessage } from './common.js'; import TEXT from './text.js'; import type { Changelog, Commit, CommitType, ParsedCommit, Scope, Versions } from './types.js'; import { updateAPIVersions } from './updateAPIVersions.js'; @@ -202,7 +202,7 @@ export function decideReleaseStrategy({ console.log(`Deciding next version bump for ${lang}.`); if (relevantCommits.length === 0) { - console.log(` > Skipping, no commits found for ${lang}.`); + console.log(` > Skipping, no commits found for ${lang}, staying on '${currentVersion}'.`); versionsToPublish[lang] = { current: currentVersion }; @@ -383,7 +383,7 @@ export async function createReleasePR({ const changelogCommit = [ `[${validCommit.hash}](https://github.com/${OWNER}/${REPO}/commit/${validCommit.hash})`, - validCommit.message, + stripCommitMessage(validCommit.message), validCommit.prNumber ? `([#${validCommit.prNumber}](https://github.com/${OWNER}/${REPO}/pull/${validCommit.prNumber}))` : undefined, diff --git a/scripts/release/updateAPIVersions.ts b/scripts/release/updateAPIVersions.ts index 8f892a14646..15d3b4ded25 100755 --- a/scripts/release/updateAPIVersions.ts +++ b/scripts/release/updateAPIVersions.ts @@ -12,8 +12,10 @@ import type { Changelog, Versions } from './types.js'; async function updateConfigFiles(versionsToRelease: Versions): Promise { // update the other versions in clients.config.json - for (const lang of Object.keys(versionsToRelease)) { - clientsConfig[lang].packageVersion = versionsToRelease[lang].next; + for (const lang of Object.keys(versionsToRelease) as Language[]) { + if (versionsToRelease[lang]?.next) { + clientsConfig[lang].packageVersion = versionsToRelease[lang].next; + } } await writeJsonFile(toAbsolutePath('config/clients.config.json'), clientsConfig);