From 9e7c3ae074faa121d81a870df67a8aa679d3baa8 Mon Sep 17 00:00:00 2001 From: Bastian <bastian.ike@gmail.com> Date: Tue, 4 Jan 2022 20:52:35 +0100 Subject: [PATCH] feat(gomod): support .git repository indicators on gitlab (#13352) Co-authored-by: Michael Kriese <michael.kriese@visualon.de> --- lib/datasource/go/get-datasource.spec.ts | 17 +++++++++++++++++ lib/datasource/go/get-datasource.ts | 10 ++++++++++ 2 files changed, 27 insertions(+) diff --git a/lib/datasource/go/get-datasource.spec.ts b/lib/datasource/go/get-datasource.spec.ts index b90e65180f..66290eb8ec 100644 --- a/lib/datasource/go/get-datasource.spec.ts +++ b/lib/datasource/go/get-datasource.spec.ts @@ -121,6 +121,23 @@ describe('datasource/go/get-datasource', () => { }); }); + it('supports GitLab deps on private subgroups', async () => { + httpMock + .scope('https://gitlab.com') + .get('/group/subgroup/private.git/v3?go-get=1') + .reply(200, loadFixture('go-get-gitlab.html')); + + const res = await getDatasource( + 'gitlab.com/group/subgroup/private.git/v3' + ); + + expect(res).toEqual({ + datasource: gitlabDatasource, + lookupName: 'group/subgroup/private', + registryUrl: 'https://gitlab.com', + }); + }); + it('supports GitLab with URL mismatch', async () => { const mismatchingResponse = loadFixture('go-get-github.html').replace( 'https://github.com/golang/text/', diff --git a/lib/datasource/go/get-datasource.ts b/lib/datasource/go/get-datasource.ts index a0a8ef2dce..cf4a818da9 100644 --- a/lib/datasource/go/get-datasource.ts +++ b/lib/datasource/go/get-datasource.ts @@ -45,6 +45,16 @@ async function goGetDatasource(goModule: string): Promise<DataSource | null> { if (gitlabUrl && gitlabUrlName) { if (gitlabModuleName?.startsWith(gitlabUrlName)) { + if (gitlabModuleName.includes('.git')) { + return { + datasource: gitlab.id, + registryUrl: gitlabUrl, + lookupName: gitlabModuleName.substring( + 0, + gitlabModuleName.indexOf('.git') + ), + }; + } return { datasource: gitlab.id, registryUrl: gitlabUrl, -- GitLab