From 81785759dd5f3ec92c5a6b6ec1af124218a05346 Mon Sep 17 00:00:00 2001 From: Francois Nel Date: Wed, 3 Sep 2025 12:35:28 +0000 Subject: [PATCH] kubernetes-common: getStableHelmVersion - exclude prerelease/draft GitHub releases and semver pre-release tags when selecting latest stable Helm --- common-npm-packages/kubernetes-common/helmutility.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/common-npm-packages/kubernetes-common/helmutility.ts b/common-npm-packages/kubernetes-common/helmutility.ts index ea7744e2..e87f1368 100644 --- a/common-npm-packages/kubernetes-common/helmutility.ts +++ b/common-npm-packages/kubernetes-common/helmutility.ts @@ -77,9 +77,12 @@ export async function getStableHelmVersion(): Promise { responseArray.forEach(response => { if (response && response.tag_name) { let currentHelmVerison = semver.clean(response.tag_name.toString()); - if (currentHelmVerison) { - if (currentHelmVerison.toString().indexOf('rc') == -1 && semver.gt(currentHelmVerison, latestHelmVersion)) { - //If current helm version is not a pre release and is greater than latest helm version + if (currentHelmVerison) { + // Exclude any pre-release (alpha, beta, rc, etc.) and drafts. + const isPreRelease = (response.prerelease === true) || !!semver.prerelease(currentHelmVerison); + const isDraft = response.draft === true; + if (!isPreRelease && !isDraft && semver.gt(currentHelmVerison, latestHelmVersion)) { + // If current helm version is stable and greater than latest helm version latestHelmVersion = currentHelmVerison; } }