From 9a55d753f976ad82dd3ca49267da07e27e2a0fc5 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Fri, 10 Nov 2023 03:35:42 -0300
Subject: [PATCH] feat(onboarding): Semantic onboarding PR (#25666)

---
 .../repository/onboarding/pr/index.spec.ts      | 17 +++++++++++++++++
 lib/workers/repository/onboarding/pr/index.ts   |  8 +++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/lib/workers/repository/onboarding/pr/index.spec.ts b/lib/workers/repository/onboarding/pr/index.spec.ts
index b9a29bbbdc..ba26fbbfaf 100644
--- a/lib/workers/repository/onboarding/pr/index.spec.ts
+++ b/lib/workers/repository/onboarding/pr/index.spec.ts
@@ -77,6 +77,23 @@ describe('workers/repository/onboarding/pr/index', () => {
       expect(platform.createPr).toHaveBeenCalledTimes(1);
     });
 
+    it('creates semantic PR', async () => {
+      await ensureOnboardingPr(
+        {
+          ...config,
+          semanticCommitType: undefined, // should default to "chore"
+          semanticCommits: 'enabled',
+        },
+        packageFiles,
+        branches,
+      );
+      expect(platform.createPr).toHaveBeenCalledWith(
+        expect.objectContaining({
+          prTitle: 'chore: Configure Renovate',
+        }),
+      );
+    });
+
     it('creates PR with labels', async () => {
       await ensureOnboardingPr(
         {
diff --git a/lib/workers/repository/onboarding/pr/index.ts b/lib/workers/repository/onboarding/pr/index.ts
index 3d36e5d577..adfddab3ea 100644
--- a/lib/workers/repository/onboarding/pr/index.ts
+++ b/lib/workers/repository/onboarding/pr/index.ts
@@ -173,10 +173,16 @@ If you need any further assistance then you can also [request help here](${
       logger.info('DRY-RUN: Would create onboarding PR');
     } else {
       // TODO #22198
+      const prTitle =
+        config.semanticCommits === 'enabled'
+          ? `${config.semanticCommitType ?? 'chore'}: ${
+              config.onboardingPrTitle
+            }`
+          : config.onboardingPrTitle!;
       const pr = await platform.createPr({
         sourceBranch: config.onboardingBranch!,
         targetBranch: config.defaultBranch!,
-        prTitle: config.onboardingPrTitle!,
+        prTitle,
         prBody,
         labels,
         platformOptions: getPlatformPrOptions({
-- 
GitLab