From 6899eb0135091a7d007a8214be7f343caf573b38 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Tue, 27 Aug 2024 16:21:13 -0300
Subject: [PATCH] fix(go): Revert private module URL changes (#31055)

---
 lib/modules/datasource/go/base.spec.ts | 5 +++--
 lib/modules/datasource/go/base.ts      | 8 +++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/lib/modules/datasource/go/base.spec.ts b/lib/modules/datasource/go/base.spec.ts
index df89482641..3598fdd7c4 100644
--- a/lib/modules/datasource/go/base.spec.ts
+++ b/lib/modules/datasource/go/base.spec.ts
@@ -117,7 +117,8 @@ describe('modules/datasource/go/base', () => {
         });
       });
 
-      it('supports Go submodules in GitLab repo', async () => {
+      // eslint-disable-next-line jest/no-disabled-tests
+      it.skip('supports Go submodules in GitLab repo', async () => {
         httpMock
           .scope('https://gitlab.com')
           .get('/example/module/submodule?go-get=1')
@@ -180,7 +181,7 @@ describe('modules/datasource/go/base', () => {
 
         expect(res).toEqual({
           datasource: GitlabTagsDatasource.id,
-          packageName: 'group/subgroup',
+          packageName: 'group/subgroup/my.git.module',
           registryUrl: 'https://gitlab.com',
         });
       });
diff --git a/lib/modules/datasource/go/base.ts b/lib/modules/datasource/go/base.ts
index fc9a3cd906..d465711bda 100644
--- a/lib/modules/datasource/go/base.ts
+++ b/lib/modules/datasource/go/base.ts
@@ -21,6 +21,9 @@ export class BaseGoDatasource {
   private static readonly gitlabHttpsRegExp = regEx(
     /^(?<httpsRegExpUrl>https:\/\/[^/]*gitlab\.[^/]*)\/(?<httpsRegExpName>.+?)(?:\/v\d+)?[/]?$/,
   );
+  private static readonly gitlabRegExp = regEx(
+    /^(?<regExpUrl>gitlab\.[^/]*)\/(?<regExpPath>.+?)(?:\/v\d+)?[/]?$/,
+  );
   private static readonly gitVcsRegexp = regEx(
     /^(?:[^/]+)\/(?<module>.*)\.git(?:$|\/)/,
   );
@@ -151,6 +154,8 @@ export class BaseGoDatasource {
       };
     }
 
+    const gitlabModuleName =
+      BaseGoDatasource.gitlabRegExp.exec(goModule)?.groups?.regExpPath;
     const vcsIndicatedModule =
       BaseGoDatasource.gitVcsRegexp.exec(goModule)?.groups?.module;
 
@@ -158,7 +163,8 @@ export class BaseGoDatasource {
       BaseGoDatasource.gitlabHttpsRegExp.exec(metadataUrl)?.groups;
     if (metadataUrlMatchGroups) {
       const { httpsRegExpUrl, httpsRegExpName } = metadataUrlMatchGroups;
-      const packageName = vcsIndicatedModule ?? httpsRegExpName;
+      const packageName =
+        vcsIndicatedModule ?? gitlabModuleName ?? httpsRegExpName;
       return {
         datasource: GitlabTagsDatasource.id,
         registryUrl: httpsRegExpUrl,
-- 
GitLab