From 5f195e9d4f199407159e7c45d4539de68fa905d3 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sat, 27 Feb 2021 07:00:02 +0100 Subject: [PATCH] fix: merge labels and addLabels in groups --- .../__snapshots__/generate.spec.ts.snap | 19 +++++++++++++++++++ .../repository/updates/generate.spec.ts | 3 +++ lib/workers/repository/updates/generate.ts | 15 +++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap index d81572216e..3edd2548a9 100644 --- a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap +++ b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap @@ -8,6 +8,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() adds commit exports[`workers/repository/updates/generate generateBranchConfig() handles @types specially (reversed) 1`] = ` Object { + "addLabels": Array [], "automerge": false, "blockedByPin": false, "branchName": "some-branch", @@ -18,6 +19,11 @@ Object { "dependencyDashboardPrApproval": false, "displayFrom": "", "displayTo": "0.6.0", + "labels": Array [ + "a", + "c", + "b", + ], "newValue": "0.6.0", "prTitle": "some-title", "prettyDepType": "dependency", @@ -30,6 +36,10 @@ Object { "depName": "some-dep", "displayFrom": "", "displayTo": "0.6.0", + "labels": Array [ + "a", + "c", + ], "newValue": "0.6.0", "prTitle": "some-title", "prettyDepType": "dependency", @@ -42,6 +52,10 @@ Object { "depName": "some-dep", "displayFrom": "", "displayTo": "1.0.0", + "labels": Array [ + "a", + "b", + ], "newValue": "1.0.0", "prTitle": "some-other-title", "prettyDepType": "dependency", @@ -52,6 +66,9 @@ Object { "depName": "@types/some-dep", "displayFrom": "", "displayTo": "0.5.7", + "labels": Array [ + "a", + ], "newValue": "0.5.7", "prTitle": "some-title", "prettyDepType": "dependency", @@ -62,6 +79,7 @@ Object { exports[`workers/repository/updates/generate generateBranchConfig() handles @types specially 1`] = ` Object { + "addLabels": Array [], "automerge": false, "blockedByPin": false, "branchName": "some-branch", @@ -81,6 +99,7 @@ Object { "displayTo": "0.6.0", "hasTypes": true, "isRange": false, + "labels": Array [], "newValue": "0.6.0", "prTitle": "some-title", "prettyDepType": "dependency", diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts index 5b44215c0d..fcb8a8af38 100644 --- a/lib/workers/repository/updates/generate.spec.ts +++ b/lib/workers/repository/updates/generate.spec.ts @@ -408,6 +408,7 @@ describe('workers/repository/updates/generate', () => { branchName: 'some-branch', prTitle: 'some-title', newValue: '0.6.0', + labels: ['a', 'c'], group: {}, }, { @@ -418,6 +419,7 @@ describe('workers/repository/updates/generate', () => { branchName: 'some-branch', prTitle: 'some-other-title', newValue: '1.0.0', + labels: ['a', 'b'], group: {}, }, { @@ -426,6 +428,7 @@ describe('workers/repository/updates/generate', () => { branchName: 'some-branch', prTitle: 'some-title', newValue: '0.5.7', + labels: ['a'], group: {}, }, ]; diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts index c6792de35c..e3a01c5628 100644 --- a/lib/workers/repository/updates/generate.ts +++ b/lib/workers/repository/updates/generate.ts @@ -305,6 +305,21 @@ export function generateBranchConfig( (upgrade) => upgrade.prCreation === 'approval' ); config.automerge = config.upgrades.every((upgrade) => upgrade.automerge); + // combine all labels + config.labels = [ + ...new Set( + config.upgrades + .map((upgrade) => upgrade.labels || []) + .reduce((a, b) => a.concat(b), []) + ), + ]; + config.addLabels = [ + ...new Set( + config.upgrades + .map((upgrade) => upgrade.addLabels || []) + .reduce((a, b) => a.concat(b), []) + ), + ]; config.blockedByPin = config.upgrades.every( (upgrade) => upgrade.blockedByPin ); -- GitLab