diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts index b3e48d68e0e46cad9c335714f0587eecce3dc27c..5e3417ac5f2dbe5cbfd2f5bc0c5109c35e46c77c 100644 --- a/lib/workers/repository/updates/generate.spec.ts +++ b/lib/workers/repository/updates/generate.spec.ts @@ -190,6 +190,40 @@ describe('workers/repository/updates/generate', () => { }); }); + it('groups major updates with different versions but same newValue, no recreateClosed', () => { + const branch = [ + { + depName: 'some-dep', + groupName: 'some-group', + branchName: 'some-branch', + prTitle: 'some-title', + commitMessageExtra: + 'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}', + foo: 1, + newValue: '5.1.2', + newVersion: '5.1.2', + isMajor: true, + newMajor: 5, + }, + { + depName: 'some-other-dep', + groupName: 'some-group', + branchName: 'some-branch', + prTitle: 'some-title', + commitMessageExtra: + 'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}', + foo: 1, + newValue: '5.2.0', + newVersion: '5.2.0', + isMajor: true, + newMajor: 5, + }, + ]; + const res = generateBranchConfig(branch); + expect(res.groupName).toBeDefined(); + expect(res.recreateClosed).toBeFalsy(); + }); + it('groups multiple upgrades different version', () => { const branch = [ { diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts index 0d197c8ea07e291daa5aada891c7e515753da438..f3df4f73124313e503d41289d04ef7ce885deff3 100644 --- a/lib/workers/repository/updates/generate.ts +++ b/lib/workers/repository/updates/generate.ts @@ -149,7 +149,12 @@ export function generateBranchConfig( delete upgrade.group; // istanbul ignore else - if (toVersions.length > 1 && toValues.size > 1 && !typesGroup) { + if ( + toVersions.length > 1 && + toValues.size > 1 && + newValue.length > 1 && + !typesGroup + ) { logger.trace({ toVersions }); logger.trace({ toValues }); delete upgrade.commitMessageExtra;