Use release version from manifest

Signed-off-by: Johan Haals <johan.haals@gmail.com>
This commit is contained in:
Johan Haals
2022-02-08 11:33:59 +01:00
parent c22bcaafdd
commit d77c32fd48
2 changed files with 18 additions and 15 deletions
@@ -155,8 +155,6 @@ describe('bump', () => {
'unlocking @backstage/core-api@^1.0.6 ~> 1.0.7',
'unlocking @backstage/core-api@^1.0.3 ~> 1.0.7',
'bumping @backstage/theme in b to ^2.0.0',
'Checking for updates of @backstage/create-app',
'Creating backstage.json',
'Running yarn install to install new versions',
'⚠️ The following packages may have breaking changes:',
' @backstage/theme : 1.0.0 ~> 2.0.0',
@@ -164,7 +162,7 @@ describe('bump', () => {
'Version bump complete!',
]);
expect(runObj.runPlain).toHaveBeenCalledTimes(4);
expect(runObj.runPlain).toHaveBeenCalledTimes(3);
expect(runObj.runPlain).toHaveBeenCalledWith(
'yarn',
'info',
@@ -246,6 +244,7 @@ describe('bump', () => {
res(
ctx.status(200),
ctx.json({
releaseVersion: '0.0.1',
packages: [
{
name: '@backstage/theme',
@@ -274,7 +273,6 @@ describe('bump', () => {
'unlocking @backstage/core-api@^1.0.6 ~> 1.0.7',
'unlocking @backstage/core-api@^1.0.3 ~> 1.0.7',
'bumping @backstage/theme in b to ^5.0.0',
'Checking for updates of @backstage/create-app',
'Creating backstage.json',
'Running yarn install to install new versions',
'⚠️ The following packages may have breaking changes:',
@@ -365,10 +363,10 @@ describe('bump', () => {
res(
ctx.status(200),
ctx.json({
releaseVersion: '2.0.0',
packages: [
{ name: '@backstage/core', version: '5.0.0' },
{ name: '@backstage/core-api', version: '5.0.0' },
{ name: '@backstage/create-app', version: '2.0.0' },
],
}),
),
@@ -391,7 +389,6 @@ describe('bump', () => {
'Some packages are outdated, updating',
'bumping @backstage/core in a to ^5.0.0',
'bumping @backstage/core in b to ^5.0.0',
'Checking for updates of @backstage/create-app',
'Creating backstage.json',
'Running yarn install to install new versions',
'⚠️ The following packages may have breaking changes:',
@@ -521,6 +518,7 @@ describe('bump', () => {
'bumping @backstage-extra/custom-two in a to ^2.0.0',
'bumping @backstage-extra/custom-two in b to ^2.0.0',
'bumping @backstage/theme in b to ^2.0.0',
'Skipping backstage.json update as custom pattern is used',
'Running yarn install to install new versions',
'⚠️ The following packages may have breaking changes:',
' @backstage-extra/custom-two : 1.0.0 ~> 2.0.0',
+14 -9
View File
@@ -67,16 +67,17 @@ export default async (cmd: Command) => {
}
let findTargetVersion: (name: string) => Promise<string>;
let releaseManifest: ReleaseManifest;
if (semver.valid(cmd.release)) {
releaseManifest = await getByVersion({ version: cmd.release });
findTargetVersion = createStrictVersionFinder({
releaseManifest: await getByVersion({ version: cmd.release }),
releaseManifest,
});
} else {
releaseManifest = await getByReleaseLine({ releaseLine: cmd.release });
findTargetVersion = createVersionFinder({
releaseLine: cmd.releaseLine,
releaseManifest: await getByReleaseLine({
releaseLine: cmd.release,
}),
releaseManifest,
});
}
@@ -233,8 +234,12 @@ export default async (cmd: Command) => {
// Do not update backstage.json when upgrade patterns are used.
if (pattern === DEFAULT_PATTERN_GLOB) {
await bumpBackstageJsonVersion(
await findTargetVersion('@backstage/create-app'),
await bumpBackstageJsonVersion(releaseManifest.releaseVersion);
} else {
console.log(
chalk.yellow(
`Skipping backstage.json update as custom pattern is used`,
),
);
}
console.log();
@@ -388,7 +393,7 @@ export function createVersionFinder(options: {
};
}
export async function bumpBackstageJsonVersion(createAppVersion: string) {
export async function bumpBackstageJsonVersion(version: string) {
const backstageJsonPath = paths.resolveTargetRoot(BACKSTAGE_JSON);
const backstageJson = await fs.readJSON(backstageJsonPath).catch(e => {
if (e.code === 'ENOENT') {
@@ -398,7 +403,7 @@ export async function bumpBackstageJsonVersion(createAppVersion: string) {
throw e;
});
if (backstageJson?.version === createAppVersion) {
if (backstageJson?.version === version) {
return;
}
@@ -412,7 +417,7 @@ export async function bumpBackstageJsonVersion(createAppVersion: string) {
await fs.writeJson(
backstageJsonPath,
{ ...backstageJson, version: createAppVersion },
{ ...backstageJson, version },
{
spaces: 2,
encoding: 'utf8',