From bf0e39da5fc7f4e7aec16ef95b15e421426537aa Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 21 Apr 2023 11:24:29 +0200 Subject: [PATCH] fix(ansible-galaxy): handle git source (#21640) --- lib/modules/manager/ansible-galaxy/collections.ts | 6 +++++- .../manager/ansible-galaxy/extract.spec.ts | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/modules/manager/ansible-galaxy/collections.ts b/lib/modules/manager/ansible-galaxy/collections.ts index 5b1380262f..83ba8e2d66 100644 --- a/lib/modules/manager/ansible-galaxy/collections.ts +++ b/lib/modules/manager/ansible-galaxy/collections.ts @@ -30,7 +30,11 @@ function interpretLine( } case 'source': { localDependency.managerData.source = value; - localDependency.registryUrls = value ? [value] : []; + if (value?.startsWith('git@')) { + localDependency.packageName = value; + } else { + localDependency.registryUrls = value ? [value] : []; + } break; } case 'type': { diff --git a/lib/modules/manager/ansible-galaxy/extract.spec.ts b/lib/modules/manager/ansible-galaxy/extract.spec.ts index 5f6fab0c36..0174d8d77f 100644 --- a/lib/modules/manager/ansible-galaxy/extract.spec.ts +++ b/lib/modules/manager/ansible-galaxy/extract.spec.ts @@ -38,6 +38,21 @@ describe('modules/manager/ansible-galaxy/extract', () => { expect(res?.deps[0].currentValue).toBe('1.1.3'); }); + it('extracts git@ dependencies', () => { + const yamlFile = codeBlock`collections: + - name: community.docker + source: git@github.com:ansible-collections/community.docker + type: git + version: 2.7.5`; + const res = extractPackageFile(yamlFile, 'requirements.yml'); + expect(res?.deps).toHaveLength(1); + expect(res?.deps[0].currentValue).toBe('2.7.5'); + expect(res?.deps[0].registryUrls).toBeUndefined(); + expect(res?.deps[0].packageName).toBe( + 'git@github.com:ansible-collections/community.docker' + ); + }); + it('check if an empty file returns null', () => { const res = extractPackageFile('\n', 'requirements.yml'); expect(res).toBeNull(); -- GitLab