From dd0097c0faf39a626a7df663f1d1b7c811253cc5 Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Tue, 7 Jan 2025 16:07:32 +0100 Subject: [PATCH] fix(manager/github-actions): preserve full depName --- lib/modules/manager/github-actions/extract.spec.ts | 12 ++++++++---- lib/modules/manager/github-actions/extract.ts | 6 ++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/modules/manager/github-actions/extract.spec.ts b/lib/modules/manager/github-actions/extract.spec.ts index 75479bef617333..f3d499e10adda7 100644 --- a/lib/modules/manager/github-actions/extract.spec.ts +++ b/lib/modules/manager/github-actions/extract.spec.ts @@ -467,7 +467,7 @@ describe('modules/manager/github-actions/extract', () => { build: steps: - name: "test1" - uses: https://github.com/actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # tag=v3.1.1 + uses: https://github.com/actions/cache/save@1bd1e32a3bdc45362d1e726936510720a7c30a57 # tag=v4.2.0 - name: "test2" uses: https://code.forgejo.org/actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # v3.1.1 - name: "test3" @@ -479,14 +479,18 @@ describe('modules/manager/github-actions/extract', () => { expect(res).toMatchObject({ deps: [ { - currentDigest: '56337c425554a6be30cdef71bf441f15be286854', - currentValue: 'v3.1.1', + depName: 'https://github.com/actions/cache', + packageName: 'actions/cache', + currentDigest: '1bd1e32a3bdc45362d1e726936510720a7c30a57', + currentValue: 'v4.2.0', replaceString: - 'https://github.com/actions/setup-node@56337c425554a6be30cdef71bf441f15be286854 # tag=v3.1.1', + 'https://github.com/actions/cache/save@1bd1e32a3bdc45362d1e726936510720a7c30a57 # tag=v4.2.0', datasource: 'github-tags', registryUrls: ['https://github.com/'], }, { + depName: 'https://code.forgejo.org/actions/setup-node', + packageName: 'actions/setup-node', currentDigest: '56337c425554a6be30cdef71bf441f15be286854', currentValue: 'v3.1.1', replaceString: diff --git a/lib/modules/manager/github-actions/extract.ts b/lib/modules/manager/github-actions/extract.ts index c402dbcbc58ef9..b797f8fc1e9f2c 100644 --- a/lib/modules/manager/github-actions/extract.ts +++ b/lib/modules/manager/github-actions/extract.ts @@ -19,7 +19,7 @@ import type { Workflow } from './types'; const dockerActionRe = regEx(/^\s+uses\s*: ['"]?docker:\/\/([^'"]+)\s*$/); const actionRe = regEx( - /^\s+-?\s+?uses\s*: (?['"]?(?https:\/\/[.\w-]+\/)?(?[\w-]+\/[.\w-]+)(?\/.*)?@(?[^\s'"]+)['"]?(?:(?\s+)#\s*(((?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|(?:ratchet:[\w-]+\/[.\w-]+)?)@?(?([\w-]*-)?v?\d+(?:\.\d+(?:\.\d+)?)?)|(?:ratchet:exclude)))?)/, + /^\s+-?\s+?uses\s*: (?['"]?(?(?https:\/\/[.\w-]+\/)?(?[\w-]+\/[.\w-]+))(?\/.*)?@(?[^\s'"]+)['"]?(?:(?\s+)#\s*(((?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|(?:ratchet:[\w-]+\/[.\w-]+)?)@?(?([\w-]*-)?v?\d+(?:\.\d+(?:\.\d+)?)?)|(?:ratchet:exclude)))?)/, ); // SHA1 or SHA256, see https://github.blog/2020-10-19-git-2-29-released/ @@ -74,6 +74,7 @@ function extractWithRegex( if (tagMatch?.groups) { const { depName, + packageName, currentValue, path = '', tag, @@ -90,12 +91,13 @@ function extractWithRegex( } const dep: PackageDependency = { depName, + ...(packageName !== depName && { packageName }), commitMessageTopic: '{{{depName}}} action', datasource: GithubTagsDatasource.id, versioning: dockerVersioning.id, depType: 'action', replaceString, - autoReplaceStringTemplate: `${quotes}${registryUrl}{{depName}}${path}@{{#if newDigest}}{{newDigest}}${quotes}{{#if newValue}}${commentWhiteSpaces}# {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}${quotes}{{/unless}}`, + autoReplaceStringTemplate: `${quotes}{{depName}}${path}@{{#if newDigest}}{{newDigest}}${quotes}{{#if newValue}}${commentWhiteSpaces}# {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}${quotes}{{/unless}}`, ...(registryUrl ? detectDatasource(registryUrl) : customRegistryUrlsPackageDependency),