From e64739cea5df45b7427ae8a1c1fdedd9cbc190ed Mon Sep 17 00:00:00 2001 From: Maxime Brunet <max@brnt.mx> Date: Wed, 28 Sep 2022 10:20:40 -0700 Subject: [PATCH] fix(gomod): avoid duplicating "incompatible" metadata (#17867) --- lib/modules/manager/gomod/update.spec.ts | 17 +++++++++++++++++ lib/modules/manager/gomod/update.ts | 5 ++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/modules/manager/gomod/update.spec.ts b/lib/modules/manager/gomod/update.spec.ts index 0f1fb82db7..741699102b 100644 --- a/lib/modules/manager/gomod/update.spec.ts +++ b/lib/modules/manager/gomod/update.spec.ts @@ -259,6 +259,23 @@ describe('modules/manager/gomod/update', () => { ); }); + it('handles +incompatible tag without duplicating it', () => { + const upgrade = { + depName: 'github.com/Azure/azure-sdk-for-go', + managerData: { lineNumber: 8 }, + newValue: 'v26.0.0+incompatible', + depType: 'require', + }; + const res = updateDependency({ fileContent: gomod1, upgrade }); + expect(res).not.toEqual(gomod1); + expect(res).not.toContain( + 'github.com/Azure/azure-sdk-for-go v26.0.0+incompatible+incompatible' + ); + expect(res).toContain( + 'github.com/Azure/azure-sdk-for-go v26.0.0+incompatible' + ); + }); + it('handles replace line with minor version update', () => { const upgrade = { depName: 'github.com/pravesht/gocql', diff --git a/lib/modules/manager/gomod/update.ts b/lib/modules/manager/gomod/update.ts index de7f06b346..50884c80d0 100644 --- a/lib/modules/manager/gomod/update.ts +++ b/lib/modules/manager/gomod/update.ts @@ -120,7 +120,10 @@ export function updateDependency({ } } } - if (lineToChange.endsWith('+incompatible')) { + if ( + lineToChange.endsWith('+incompatible') && + !upgrade.newValue?.endsWith('+incompatible') + ) { let toAdd = '+incompatible'; if (upgrade.updateType === 'major' && upgrade.newMajor! >= 2) { -- GitLab