mirror of
https://github.com/n8n-io/n8n
synced 2026-04-21 15:47:20 +00:00
62 lines
1.3 KiB
JavaScript
62 lines
1.3 KiB
JavaScript
import semver from 'semver';
|
|
import {
|
|
ensureEnvVar,
|
|
isReleaseType,
|
|
RELEASE_PREFIX,
|
|
stripReleasePrefixes,
|
|
writeGithubOutput,
|
|
} from './github-helpers.mjs';
|
|
|
|
const track = ensureEnvVar('TRACK');
|
|
const bump = ensureEnvVar('BUMP');
|
|
|
|
const stable = process.env['STABLE_VERSION'];
|
|
const beta = process.env['BETA_VERSION'];
|
|
const v1 = process.env['V1_VERSION'];
|
|
|
|
let base = null;
|
|
switch (track) {
|
|
case 'stable':
|
|
base = stable;
|
|
break;
|
|
case 'beta':
|
|
base = beta;
|
|
break;
|
|
case 'v1':
|
|
base = v1;
|
|
break;
|
|
}
|
|
|
|
if (!base) {
|
|
console.error(
|
|
`Unknown track or missing base version. track=${track} stable=${stable} beta=${beta} v1=${v1}`,
|
|
);
|
|
process.exit(1);
|
|
}
|
|
|
|
const cleanedBase = stripReleasePrefixes(base);
|
|
if (!cleanedBase) {
|
|
console.error(`Invalid base version: ${base}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
if (!isReleaseType(bump)) {
|
|
console.error(`Invalid release type in $bump: ${bump}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
const next = semver.inc(cleanedBase, bump);
|
|
if (!next) {
|
|
console.error(`Could not bump version. base=${cleanedBase} bump=${bump}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
const output = {
|
|
base_version: cleanedBase,
|
|
new_version: next,
|
|
new_version_tag: `${RELEASE_PREFIX}${next}`,
|
|
};
|
|
|
|
writeGithubOutput(output);
|
|
|
|
console.log(`Releasing track=${track} bump=${bump} base=${cleanedBase} -> new=${next}`);
|