diff --git a/lib/get-next-version.js b/lib/get-next-version.js index e78b724a..05f91a11 100644 --- a/lib/get-next-version.js +++ b/lib/get-next-version.js @@ -14,7 +14,9 @@ module.exports = ({branch, nextRelease: {type, channel}, lastRelease, logger}) = ) { version = highest( semver.inc(lastRelease.version, 'prerelease'), - `${semver.inc(getLatestVersion(tagsToVersions(branch.tags)), type)}-${branch.prerelease}.${FIRSTPRERELEASE}` + `${semver.inc(getLatestVersion(tagsToVersions(branch.tags), {withPrerelease: true}), type)}-${ + branch.prerelease + }.${FIRSTPRERELEASE}` ); } else { version = `${semver.inc(`${major}.${minor}.${patch}`, type)}-${branch.prerelease}.${FIRSTPRERELEASE}`; diff --git a/test/get-next-version.test.js b/test/get-next-version.test.js index 8005d76c..2bd808d1 100644 --- a/test/get-next-version.test.js +++ b/test/get-next-version.test.js @@ -258,3 +258,20 @@ test('Increase version for release on prerelease branch based on highest commit '2.0.0-beta.1' ); }); + +test('Increase version for release on prerelease branch when there is no regular releases on other branches', t => { + t.is( + getNextVersion({ + branch: { + name: 'beta', + type: 'prerelease', + prerelease: 'beta', + tags: [{gitTag: 'v1.0.0-beta.1', version: '1.0.0-beta.1', channels: ['beta']}], + }, + nextRelease: {type: 'minor', channel: 'beta'}, + lastRelease: {version: 'v1.0.0-beta.1', channels: ['beta']}, + logger: t.context.logger, + }), + '1.0.0-beta.2' + ); +});