From 50e3f82a3670a5853963bcf08a73da2257a249bf Mon Sep 17 00:00:00 2001
From: Sebastian Poxhofer <secustor@users.noreply.github.com>
Date: Sun, 29 Oct 2023 18:59:17 +0100
Subject: [PATCH] fix(workers/branchName): template groupName before slugging
 (#25490)

---
 lib/workers/repository/updates/branch-name.spec.ts | 13 +++++++++++++
 lib/workers/repository/updates/branch-name.ts      |  1 +
 2 files changed, 14 insertions(+)

diff --git a/lib/workers/repository/updates/branch-name.spec.ts b/lib/workers/repository/updates/branch-name.spec.ts
index 07c368946e..dbebba8020 100644
--- a/lib/workers/repository/updates/branch-name.spec.ts
+++ b/lib/workers/repository/updates/branch-name.spec.ts
@@ -15,6 +15,19 @@ describe('workers/repository/updates/branch-name', () => {
       expect(upgrade.branchName).toBe('some-group-name-grouptopic');
     });
 
+    it('compile groupName before slugging', () => {
+      const upgrade: RenovateConfig = {
+        groupName: '{{parentDir}}',
+        parentDir: 'myService',
+        group: {
+          branchName: '{{groupSlug}}-{{branchTopic}}',
+          branchTopic: 'grouptopic',
+        },
+      };
+      generateBranchName(upgrade);
+      expect(upgrade.branchName).toBe('myservice-grouptopic');
+    });
+
     it('uses groupSlug if defined', () => {
       const upgrade: RenovateConfig = {
         groupName: 'some group name',
diff --git a/lib/workers/repository/updates/branch-name.ts b/lib/workers/repository/updates/branch-name.ts
index a41e1051aa..6ce472bbd2 100644
--- a/lib/workers/repository/updates/branch-name.ts
+++ b/lib/workers/repository/updates/branch-name.ts
@@ -48,6 +48,7 @@ function cleanBranchName(
 export function generateBranchName(update: RenovateConfig): void {
   // Check whether to use a group name
   if (update.groupName) {
+    update.groupName = template.compile(update.groupName, update);
     logger.trace('Using group branchName template');
     // TODO: types (#22198)
     logger.trace(
-- 
GitLab