build: update version-bumper to support alpha (#30165)
* build: update version-bumper to support alpha * build: seperate alpha bump version tests For easier deletion. If we want to continue supporting an alpha channel, they can be reintegrated with main tests. * chore: fix regex Co-authored-by: Samuel Attard <sam@electronjs.org> Co-authored-by: Samuel Attard <sam@electronjs.org>
This commit is contained in:
parent
d35fb2a2e3
commit
deb75ceaa5
6 changed files with 231 additions and 84 deletions
|
@ -23,6 +23,7 @@ const getCurrentDate = () => {
|
|||
};
|
||||
|
||||
const isNightly = v => v.includes('nightly');
|
||||
const isAlpha = v => v.includes('alpha');
|
||||
const isBeta = v => v.includes('beta');
|
||||
const isStable = v => {
|
||||
const parsed = semver.parse(v);
|
||||
|
@ -39,9 +40,22 @@ const makeVersion = (components, delim, pre = preType.NONE) => {
|
|||
return version;
|
||||
};
|
||||
|
||||
async function nextAlpha (v) {
|
||||
const next = semver.coerce(semver.clean(v));
|
||||
const tagBlob = await GitProcess.exec(['tag', '--list', '-l', `v${next}-alpha.*`], ELECTRON_DIR);
|
||||
const tags = tagBlob.stdout.split('\n').filter(e => e !== '');
|
||||
tags.sort((t1, t2) => {
|
||||
const a = parseInt(t1.split('.').pop(), 10);
|
||||
const b = parseInt(t2.split('.').pop(), 10);
|
||||
return a - b;
|
||||
});
|
||||
|
||||
// increment the latest existing alpha tag or start at alpha.1 if it's a new alpha line
|
||||
return tags.length === 0 ? `${next}-alpha.1` : semver.inc(tags.pop(), 'prerelease');
|
||||
}
|
||||
|
||||
async function nextBeta (v) {
|
||||
const next = semver.coerce(semver.clean(v));
|
||||
|
||||
const tagBlob = await GitProcess.exec(['tag', '--list', '-l', `v${next}-beta.*`], ELECTRON_DIR);
|
||||
const tags = tagBlob.stdout.split('\n').filter(e => e !== '');
|
||||
tags.sort((t1, t2) => {
|
||||
|
@ -94,8 +108,10 @@ function getNextReleaseBranch (branches) {
|
|||
|
||||
module.exports = {
|
||||
isStable,
|
||||
isAlpha,
|
||||
isBeta,
|
||||
isNightly,
|
||||
nextAlpha,
|
||||
nextBeta,
|
||||
makeVersion,
|
||||
getElectronVersion,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue