From e368cde1eb046e5e80905c3fde0d0e3bc1b604a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikolai=20R=C3=B8ed=20Kristiansen?= Date: Sun, 26 Mar 2023 14:19:04 +0200 Subject: [PATCH] fix(manager/helmfile): Detect more local charts (#21093) --- .../manager/helmfile/__fixtures__/go-template.yaml | 6 ++++++ lib/modules/manager/helmfile/extract.spec.ts | 8 ++++++++ lib/modules/manager/helmfile/extract.ts | 4 ++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/modules/manager/helmfile/__fixtures__/go-template.yaml b/lib/modules/manager/helmfile/__fixtures__/go-template.yaml index b1c332bcd8ed73..d9179d9a170271 100644 --- a/lib/modules/manager/helmfile/__fixtures__/go-template.yaml +++ b/lib/modules/manager/helmfile/__fixtures__/go-template.yaml @@ -10,6 +10,12 @@ releases: - name: "{{ requiredEnv \"RELEASE_NAME\" }}" namespace: default chart: ./foo + - name: "{{ requiredEnv \"RELEASE_NAME\" }}" + namespace: default + chart: ../bar + - name: "{{ requiredEnv \"RELEASE_NAME\" }}" + namespace: default + chart: /baz - name: {{ requiredEnv "RELEASE_NAME" }} namespace: default chart: ./foo diff --git a/lib/modules/manager/helmfile/extract.spec.ts b/lib/modules/manager/helmfile/extract.spec.ts index 6b312da7b7ff9d..68a7bbb8cd1b05 100644 --- a/lib/modules/manager/helmfile/extract.spec.ts +++ b/lib/modules/manager/helmfile/extract.spec.ts @@ -335,6 +335,14 @@ describe('modules/manager/helmfile/extract', () => { expect(result).toMatchObject({ datasource: 'helm', deps: [ + { + depName: '', + skipReason: 'local-chart', + }, + { + depName: '', + skipReason: 'local-chart', + }, { depName: '', skipReason: 'local-chart', diff --git a/lib/modules/manager/helmfile/extract.ts b/lib/modules/manager/helmfile/extract.ts index 70b79c72001a1c..4f65fbd823c1be 100644 --- a/lib/modules/manager/helmfile/extract.ts +++ b/lib/modules/manager/helmfile/extract.ts @@ -59,8 +59,8 @@ export function extractPackageFile( }; } - // If starts with ./ is for sure a local path - if (dep.chart.startsWith('./')) { + // If it starts with ./ ../ or / then it's a local path + if (['./', '../', '/'].some((val) => dep.chart.startsWith(val))) { return { depName: dep.name, skipReason: 'local-chart',