From f931d9b148b18197df18bd4c0c6f744a35d56f37 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Mon, 23 May 2022 06:27:49 +0200 Subject: [PATCH] fix(grouping): group update with same major version should be ignorable (#15586) --- .../repository/updates/generate.spec.ts | 34 +++++++++++++++++++ lib/workers/repository/updates/generate.ts | 7 +++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts index b3e48d68e0..5e3417ac5f 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 0d197c8ea0..f3df4f7312 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; -- GitLab