From 8fc005b15e51a6c2938eeae6b4c960208b35526a Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Tue, 17 Apr 2018 11:47:22 +0200
Subject: [PATCH] fix: group based on commitMessageExtra

---
 lib/workers/repository/updates/generate.js       | 8 ++++++--
 test/workers/repository/updates/generate.spec.js | 8 ++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/lib/workers/repository/updates/generate.js b/lib/workers/repository/updates/generate.js
index 3686f8790e..c9a5a95464 100644
--- a/lib/workers/repository/updates/generate.js
+++ b/lib/workers/repository/updates/generate.js
@@ -17,8 +17,11 @@ function generateBranchConfig(branchUpgrades) {
     if (!depNames.includes(upg.depName)) {
       depNames.push(upg.depName);
     }
-    if (!newVersion.includes(upg.newVersion || upg.newFrom)) {
-      newVersion.push(upg.newVersion || upg.newFrom);
+    if (upg.commitMessageExtra) {
+      const extra = handlebars.compile(upg.commitMessageExtra)(upg);
+      if (!newVersion.includes(extra)) {
+        newVersion.push(extra);
+      }
     }
   });
   const groupEligible =
@@ -46,6 +49,7 @@ function generateBranchConfig(branchUpgrades) {
         branchUpgrades[0].depName.endsWith(branchUpgrades[1].depName)) ||
         (branchUpgrades[1].depName.startsWith('@types/') &&
           branchUpgrades[1].depName.endsWith(branchUpgrades[0].depName)));
+    // istanbul ignore else
     if (newVersion.length > 1 && !isTypesGroup) {
       logger.debug({ newVersion });
       delete upgrade.commitMessageExtra;
diff --git a/test/workers/repository/updates/generate.spec.js b/test/workers/repository/updates/generate.spec.js
index bc77819094..547f9b5aef 100644
--- a/test/workers/repository/updates/generate.spec.js
+++ b/test/workers/repository/updates/generate.spec.js
@@ -82,6 +82,8 @@ describe('workers/repository/updates/generate', () => {
           groupName: 'some-group',
           branchName: 'some-branch',
           prTitle: 'some-title',
+          commitMessageExtra:
+            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
           newVersion: '5.1.2',
@@ -94,6 +96,8 @@ describe('workers/repository/updates/generate', () => {
           groupName: 'some-group',
           branchName: 'some-branch',
           prTitle: 'some-title',
+          commitMessageExtra:
+            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
           newVersion: '5.1.2',
@@ -113,6 +117,8 @@ describe('workers/repository/updates/generate', () => {
           groupName: 'some-group',
           branchName: 'some-branch',
           prTitle: 'some-title',
+          commitMessageExtra:
+            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
           newVersion: '5.1.2',
@@ -125,6 +131,8 @@ describe('workers/repository/updates/generate', () => {
           groupName: 'some-group',
           branchName: 'some-branch',
           prTitle: 'some-title',
+          commitMessageExtra:
+            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
           newVersion: '1.1.0',
-- 
GitLab