ci: Fix rc versioning to properly bump major version (#22603)

This commit is contained in:
Artem Sorokin
2025-12-02 13:18:13 +01:00
committed by GitHub
parent a4757cf009
commit b5c19e1b89
2 changed files with 4 additions and 19 deletions

View File

@@ -22,24 +22,9 @@ function generateExperimentalVersion(currentVersion) {
return `${parsed.major}.${parsed.minor}.${parsed.patch}-exp.0`;
}
function generateRcVersion(currentVersion) {
const parsed = semver.parse(currentVersion);
if (!parsed) throw new Error(`Invalid version: ${currentVersion}`);
// Check if it's already an RC version
if (parsed.prerelease.length > 0 && parsed.prerelease[0] === 'rc') {
// Increment the RC number
const rcNum = (parsed.prerelease[1] || 0) + 1;
return `${parsed.major}.${parsed.minor}.${parsed.patch}-rc.${rcNum}`;
}
// Create new RC version: <major>.<minor>.<patch>-rc.0
return `${parsed.major}.${parsed.minor}.${parsed.patch}-rc.0`;
}
const rootDir = process.cwd();
const releaseType = process.env.RELEASE_TYPE;
assert.match(releaseType, /^(patch|minor|major|experimental|rc)$/, 'Invalid RELEASE_TYPE');
assert.match(releaseType, /^(patch|minor|major|experimental|premajor)$/, 'Invalid RELEASE_TYPE');
// TODO: if releaseType is `auto` determine release type based on the changelog
@@ -78,8 +63,8 @@ for (const packageName in packageMap) {
)
? releaseType === 'experimental'
? generateExperimentalVersion(version)
: releaseType === 'rc'
? generateRcVersion(version)
: releaseType === 'premajor'
? semver.inc(version, version.includes('-rc.') ? 'prerelease' : 'premajor', undefined, 'rc')
: semver.inc(version, releaseType)
: version;