From b02f72336521e50bc465ba853fa32583dfd77a2c Mon Sep 17 00:00:00 2001
From: Sebastian Poxhofer <secustor@users.noreply.github.com>
Date: Mon, 21 Aug 2023 16:41:43 +0200
Subject: [PATCH] feat(presets): allow dots in regexManager presets (#24001)

---
 .../presets/internal/regex-managers.spec.ts   | 19 +++++++++++++++++++
 lib/config/presets/internal/regex-managers.ts |  4 ++--
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/lib/config/presets/internal/regex-managers.spec.ts b/lib/config/presets/internal/regex-managers.spec.ts
index 4450985836..13a947bec9 100644
--- a/lib/config/presets/internal/regex-managers.spec.ts
+++ b/lib/config/presets/internal/regex-managers.spec.ts
@@ -20,6 +20,9 @@ describe('config/presets/internal/regex-managers', () => {
         # renovate: datasource=npm depName=yarn
         ENV YARN_VERSION 3.3.1
 
+        # renovate: datasource=custom.hashicorp depName=consul
+        ENV CONSUL_VERSION 1.3.1
+
         RUN echo "FOO"
       `;
 
@@ -52,6 +55,13 @@ describe('config/presets/internal/regex-managers', () => {
           replaceString:
             '# renovate: datasource=npm depName=yarn\nENV YARN_VERSION 3.3.1\n',
         },
+        {
+          currentValue: '1.3.1',
+          datasource: 'custom.hashicorp',
+          depName: 'consul',
+          replaceString:
+            '# renovate: datasource=custom.hashicorp depName=consul\nENV CONSUL_VERSION 1.3.1\n',
+        },
       ]);
     });
 
@@ -88,6 +98,8 @@ describe('config/presets/internal/regex-managers', () => {
           PNPM_VERSION: "7.25.1"
           # renovate: datasource=npm depName=yarn
           YARN_VERSION: '3.3.1'
+          # renovate: datasource=custom.hashicorp depName=consul
+          CONSUL_VERSION: 1.3.1
 
         jobs:
           lint:
@@ -130,6 +142,13 @@ describe('config/presets/internal/regex-managers', () => {
           replaceString:
             "# renovate: datasource=npm depName=yarn\n  YARN_VERSION: '3.3.1'\n",
         },
+        {
+          currentValue: '1.3.1',
+          datasource: 'custom.hashicorp',
+          depName: 'consul',
+          replaceString:
+            '# renovate: datasource=custom.hashicorp depName=consul\n  CONSUL_VERSION: 1.3.1\n',
+        },
       ]);
     });
 
diff --git a/lib/config/presets/internal/regex-managers.ts b/lib/config/presets/internal/regex-managers.ts
index fb73d48c7b..6b04aa9afd 100644
--- a/lib/config/presets/internal/regex-managers.ts
+++ b/lib/config/presets/internal/regex-managers.ts
@@ -12,7 +12,7 @@ export const presets: Record<string, Preset> = {
           '(^|/)([Dd]ocker|[Cc]ontainer)file[^/]*$',
         ],
         matchStrings: [
-          '# renovate: datasource=(?<datasource>[a-z-]+?) depName=(?<depName>[^\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s(?:ENV|ARG) .+?_VERSION[ =]"?(?<currentValue>.+?)"?\\s',
+          '# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s(?:ENV|ARG) .+?_VERSION[ =]"?(?<currentValue>.+?)"?\\s',
         ],
       },
     ],
@@ -24,7 +24,7 @@ export const presets: Record<string, Preset> = {
       {
         fileMatch: ['^.github/(?:workflows|actions)/.+\\.ya?ml$'],
         matchStrings: [
-          '# renovate: datasource=(?<datasource>[a-z-]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*["\']?(?<currentValue>.+?)["\']?\\s',
+          '# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*["\']?(?<currentValue>.+?)["\']?\\s',
         ],
       },
     ],
-- 
GitLab