diff --git a/lib/workers/repository/updates/branch-name.spec.ts b/lib/workers/repository/updates/branch-name.spec.ts index 85d56a9a24d04cc0b93c59b3cc59546c39fe4145..1b0be93afcffeb43648ece0020331c8ddc66bc6e 100644 --- a/lib/workers/repository/updates/branch-name.spec.ts +++ b/lib/workers/repository/updates/branch-name.spec.ts @@ -32,6 +32,7 @@ describe('workers/repository/updates/branch-name', () => { groupSlug: 'some group slug', updateType: 'major', separateMajorMinor: true, + separateMultipleMajor: true, newMajor: 2, group: { branchName: '{{groupSlug}}-{{branchTopic}}', @@ -41,6 +42,22 @@ describe('workers/repository/updates/branch-name', () => { generateBranchName(upgrade); expect(upgrade.branchName).toEqual('major-2-some-group-slug-grouptopic'); }); + it('uses single major with groups', () => { + const upgrade: RenovateConfig = { + groupName: 'some group name', + groupSlug: 'some group slug', + updateType: 'major', + separateMajorMinor: true, + separateMultipleMajor: false, + newMajor: 2, + group: { + branchName: '{{groupSlug}}-{{branchTopic}}', + branchTopic: 'grouptopic', + }, + }; + generateBranchName(upgrade); + expect(upgrade.branchName).toEqual('major-some-group-slug-grouptopic'); + }); it('separates patch groups and uses update topic', () => { const upgrade: RenovateConfig = { branchName: 'update-branch-{{groupSlug}}-{{branchTopic}}', diff --git a/lib/workers/repository/updates/branch-name.ts b/lib/workers/repository/updates/branch-name.ts index 10287a4c2cc29a1994c70ba7af71f3f6a3296dde..fec7fb4be14320a0c7b17e4793fdfcdee64c4b9a 100644 --- a/lib/workers/repository/updates/branch-name.ts +++ b/lib/workers/repository/updates/branch-name.ts @@ -31,7 +31,11 @@ export function generateBranchName(update: RenovateConfig): void { lower: true, }); if (update.updateType === 'major' && update.separateMajorMinor) { - update.groupSlug = `major-${update.newMajor}-${update.groupSlug}`; + if (update.separateMultipleMajor) { + update.groupSlug = `major-${update.newMajor}-${update.groupSlug}`; + } else { + update.groupSlug = `major-${update.groupSlug}`; + } } if (update.updateType === 'patch') { update.groupSlug = `patch-${update.groupSlug}`;