diff --git a/lib/modules/manager/ansible-galaxy/collections.ts b/lib/modules/manager/ansible-galaxy/collections.ts index 5b1380262f78eb5a8b6062c3c9b189b8bafd11d4..83ba8e2d66ab2d7080b5e0b802d8c2547798774b 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 5f6fab0c36409939dbb1ba73766e158e271d8ed9..0174d8d77fb90be010f2736e5b72165304a3c75f 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();