From 9fd3b96e1405367106dbbe1d3c18f6d0a6c2ba82 Mon Sep 17 00:00:00 2001 From: Michael Kriese <michael.kriese@visualon.de> Date: Thu, 5 Aug 2021 09:38:12 +0200 Subject: [PATCH] fix(manager:helmfile): add chart check (#11103) --- lib/manager/helmfile/__fixtures__/multidoc.yaml | 2 ++ .../helmfile/__snapshots__/extract.spec.ts.snap | 4 ++++ lib/manager/helmfile/extract.spec.ts | 2 +- lib/manager/helmfile/extract.ts | 11 +++++++++-- lib/manager/helmfile/types.ts | 1 + 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/manager/helmfile/__fixtures__/multidoc.yaml b/lib/manager/helmfile/__fixtures__/multidoc.yaml index 38eec976c5..bbf5eec4cb 100644 --- a/lib/manager/helmfile/__fixtures__/multidoc.yaml +++ b/lib/manager/helmfile/__fixtures__/multidoc.yaml @@ -60,3 +60,5 @@ releases: needs: - manifests version: 13.7.2 + +- name: invalid diff --git a/lib/manager/helmfile/__snapshots__/extract.spec.ts.snap b/lib/manager/helmfile/__snapshots__/extract.spec.ts.snap index b1072bc584..ee74ff3c3a 100644 --- a/lib/manager/helmfile/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/helmfile/__snapshots__/extract.spec.ts.snap @@ -22,6 +22,10 @@ Object { "https://prometheus-community.github.io/helm-charts", ], }, + Object { + "depName": "invalid", + "skipReason": "invalid-name", + }, ], } `; diff --git a/lib/manager/helmfile/extract.spec.ts b/lib/manager/helmfile/extract.spec.ts index 09b2a2290b..5f74c036bc 100644 --- a/lib/manager/helmfile/extract.spec.ts +++ b/lib/manager/helmfile/extract.spec.ts @@ -1,5 +1,5 @@ import { getName, loadFixture } from '../../../test/util'; -import { extractPackageFile } from './extract'; +import { extractPackageFile } from '.'; const multidocYaml = loadFixture('multidoc.yaml'); diff --git a/lib/manager/helmfile/extract.ts b/lib/manager/helmfile/extract.ts index f15090b181..c2cc664568 100644 --- a/lib/manager/helmfile/extract.ts +++ b/lib/manager/helmfile/extract.ts @@ -39,12 +39,19 @@ export function extractPackageFile( let depName = dep.chart; let repoName = null; + if (!is.string(dep.chart)) { + return { + depName: dep.name, + skipReason: SkipReason.InvalidName, + }; + } + // If starts with ./ is for sure a local path if (dep.chart.startsWith('./')) { return { depName, - skipReason: 'local-chart', - } as PackageDependency; + skipReason: SkipReason.LocalChart, + }; } if (dep.chart.includes('/')) { diff --git a/lib/manager/helmfile/types.ts b/lib/manager/helmfile/types.ts index 8c6b6a19bb..c84d8377f9 100644 --- a/lib/manager/helmfile/types.ts +++ b/lib/manager/helmfile/types.ts @@ -1,5 +1,6 @@ export interface Doc { releases?: { + name: string; chart: string; version: string; }[]; -- GitLab