From 00ddca08b0e42911cea41d88002fc3a21f97e3b6 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 1 Nov 2023 03:55:23 -0400
Subject: [PATCH] fix(autodiscover): minimatch repos with leading dots (#25516)

---
 lib/workers/global/autodiscover.spec.ts | 14 ++++++++++++++
 lib/workers/global/autodiscover.ts      |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/lib/workers/global/autodiscover.spec.ts b/lib/workers/global/autodiscover.spec.ts
index 8889ec09af..6f20520b13 100644
--- a/lib/workers/global/autodiscover.spec.ts
+++ b/lib/workers/global/autodiscover.spec.ts
@@ -77,6 +77,20 @@ describe('workers/global/autodiscover', () => {
     expect(res.repositories).toEqual(['project/repo']);
   });
 
+  it('filters autodiscovered dot repos', async () => {
+    config.autodiscover = true;
+    config.autodiscoverFilter = ['project/*'];
+    config.platform = 'github';
+    hostRules.find = jest.fn(() => ({
+      token: 'abc',
+    }));
+    ghApi.getRepos = jest.fn(() =>
+      Promise.resolve(['project/repo', 'project/.github'])
+    );
+    const res = await autodiscoverRepositories(config);
+    expect(res.repositories).toEqual(['project/repo', 'project/.github']);
+  });
+
   it('filters autodiscovered github repos but nothing matches', async () => {
     config.autodiscover = true;
     config.autodiscoverFilter = ['project/re*'];
diff --git a/lib/workers/global/autodiscover.ts b/lib/workers/global/autodiscover.ts
index df8b672bf7..92f6f653a9 100644
--- a/lib/workers/global/autodiscover.ts
+++ b/lib/workers/global/autodiscover.ts
@@ -107,7 +107,7 @@ export function applyFilters(repos: string[], filters: string[]): string[] {
       }
       res = repos.filter(autodiscoveryPred);
     } else {
-      res = repos.filter(minimatch.filter(filter, { nocase: true }));
+      res = repos.filter(minimatch.filter(filter, { dot: true, nocase: true }));
     }
     for (const repository of res) {
       matched.add(repository);
-- 
GitLab