From 29cec2cb915f4aaeb27256b92b4da929272e1b15 Mon Sep 17 00:00:00 2001 From: Michael Kriese <michael.kriese@visualon.de> Date: Tue, 8 Aug 2023 11:50:42 +0200 Subject: [PATCH] fix: better validation before bumping package version (#23684) --- lib/modules/manager/helmv3/update.ts | 1 + lib/modules/manager/maven/update.ts | 7 +------ .../npm/update/package-version/index.ts | 1 + lib/modules/manager/nuget/update.ts | 7 +------ .../update/branch/get-updated.spec.ts | 2 ++ .../repository/update/branch/get-updated.ts | 19 ++++++++++++++----- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/lib/modules/manager/helmv3/update.ts b/lib/modules/manager/helmv3/update.ts index cd742214e6..be7ac97206 100644 --- a/lib/modules/manager/helmv3/update.ts +++ b/lib/modules/manager/helmv3/update.ts @@ -14,6 +14,7 @@ export function bumpPackageVersion( ); let newChartVersion: string | null; let bumpedContent = content; + try { newChartVersion = semver.inc(currentValue, bumpVersion); if (!newChartVersion) { diff --git a/lib/modules/manager/maven/update.ts b/lib/modules/manager/maven/update.ts index 390979fcac..77b6b90f35 100644 --- a/lib/modules/manager/maven/update.ts +++ b/lib/modules/manager/maven/update.ts @@ -55,7 +55,7 @@ export function updateDependency({ export function bumpPackageVersion( content: string, - currentValue: string | undefined, + currentValue: string, bumpVersion: ReleaseType ): BumpPackageVersionResult { logger.debug( @@ -64,11 +64,6 @@ export function bumpPackageVersion( ); let bumpedContent = content; - if (!currentValue) { - logger.warn('Unable to bump pom.xml version, pom.xml has no version'); - return { bumpedContent }; - } - if (!semver.valid(currentValue)) { logger.warn( { currentValue }, diff --git a/lib/modules/manager/npm/update/package-version/index.ts b/lib/modules/manager/npm/update/package-version/index.ts index 63581011f1..ed0a4a376e 100644 --- a/lib/modules/manager/npm/update/package-version/index.ts +++ b/lib/modules/manager/npm/update/package-version/index.ts @@ -23,6 +23,7 @@ export function bumpPackageVersion( // TODO: types (#7154) let newPjVersion: string | null; let bumpedContent = content; + try { if (isMirrorBumpVersion(bumpVersion)) { const mirrorPackage = bumpVersion.replace('mirror:', ''); diff --git a/lib/modules/manager/nuget/update.ts b/lib/modules/manager/nuget/update.ts index 60b6fe5b08..052cfb2997 100644 --- a/lib/modules/manager/nuget/update.ts +++ b/lib/modules/manager/nuget/update.ts @@ -7,7 +7,7 @@ import { findVersion } from './util'; export function bumpPackageVersion( content: string, - currentValue: string | undefined, + currentValue: string, bumpVersion: ReleaseType ): BumpPackageVersionResult { logger.debug( @@ -16,11 +16,6 @@ export function bumpPackageVersion( ); let bumpedContent = content; - if (!currentValue) { - logger.warn('Unable to bump project version, project has no version'); - return { bumpedContent }; - } - if (!semver.valid(currentValue)) { logger.warn( { currentValue }, diff --git a/lib/workers/repository/update/branch/get-updated.spec.ts b/lib/workers/repository/update/branch/get-updated.spec.ts index f1956f05db..dc47a596f9 100644 --- a/lib/workers/repository/update/branch/get-updated.spec.ts +++ b/lib/workers/repository/update/branch/get-updated.spec.ts @@ -476,6 +476,7 @@ describe('workers/repository/update/branch/get-updated', () => { branchName: '', bumpVersion: 'patch', manager: 'npm', + packageFileVersion: 'old version', }); npm.updateDependency.mockReturnValue('old version'); npm.bumpPackageVersion.mockReturnValue({ bumpedContent: 'new version' }); @@ -497,6 +498,7 @@ describe('workers/repository/update/branch/get-updated', () => { branchName: '', bumpVersion: 'patch', manager: 'helmv3', + packageFileVersion: '0.0.1', }); autoReplace.doAutoReplace.mockResolvedValueOnce('version: 0.0.1'); helmv3.bumpPackageVersion.mockReturnValue({ diff --git a/lib/workers/repository/update/branch/get-updated.ts b/lib/workers/repository/update/branch/get-updated.ts index 0f3a91b476..144a75b710 100644 --- a/lib/workers/repository/update/branch/get-updated.ts +++ b/lib/workers/repository/update/branch/get-updated.ts @@ -173,10 +173,14 @@ export async function getUpdatedPackageFiles( ); firstUpdate = false; if (res) { - if (bumpPackageVersion && upgrade.bumpVersion) { + if ( + bumpPackageVersion && + upgrade.bumpVersion && + upgrade.packageFileVersion + ) { const { bumpedContent } = await bumpPackageVersion( res, - upgrade.packageFileVersion!, + upgrade.packageFileVersion, upgrade.bumpVersion ); res = bumpedContent; @@ -202,10 +206,15 @@ export async function getUpdatedPackageFiles( fileContent: packageFileContent!, upgrade, }); - if (bumpPackageVersion && upgrade.bumpVersion) { + if ( + newContent && + bumpPackageVersion && + upgrade.bumpVersion && + upgrade.packageFileVersion + ) { const { bumpedContent } = await bumpPackageVersion( - newContent!, - upgrade.packageFileVersion!, + newContent, + upgrade.packageFileVersion, upgrade.bumpVersion ); newContent = bumpedContent; -- GitLab