diff --git a/lib/modules/manager/helmfile/artifacts.spec.ts b/lib/modules/manager/helmfile/artifacts.spec.ts
index 03ddc3dddc7dcd528facb608fcebaee94acaf636..a6796903f6babe25d9219804c8e4aa9772840446 100644
--- a/lib/modules/manager/helmfile/artifacts.spec.ts
+++ b/lib/modules/manager/helmfile/artifacts.spec.ts
@@ -40,6 +40,9 @@ releases:
   - name: backstage
     chart: backstage/backstage
     version: 0.12.0
+{{- if eq .Environment.Name "test" }}
+    installed: false
+{{- end }}
   - name: oauth-proxy
     chart: oauth2-proxy/oauth2-proxy
     version: 6.8.0
diff --git a/lib/modules/manager/helmfile/artifacts.ts b/lib/modules/manager/helmfile/artifacts.ts
index 4c4fdb6937782739252b9560b735c1d646d1d35d..21bcec72e6023e51eb1a55d05b7109b9a78b3b13 100644
--- a/lib/modules/manager/helmfile/artifacts.ts
+++ b/lib/modules/manager/helmfile/artifacts.ts
@@ -13,7 +13,7 @@ import {
 import { getFile } from '../../../util/git';
 import { regEx } from '../../../util/regex';
 import { Result } from '../../../util/result';
-import { Yaml } from '../../../util/schema-utils';
+import { parseSingleYaml } from '../../../util/yaml';
 import { generateHelmEnvs } from '../helmv3/common';
 import type { UpdateArtifact, UpdateArtifactsResult } from '../types';
 import { Doc, LockVersion } from './schema';
@@ -70,10 +70,10 @@ export async function updateArtifacts({
     }
 
     const cmd: string[] = [];
-    const doc = Result.parse(
-      newPackageFileContent,
-      Yaml.pipe(Doc),
-    ).unwrapOrThrow();
+    const doc = parseSingleYaml(newPackageFileContent, {
+      removeTemplates: true,
+      customSchema: Doc,
+    });
 
     for (const value of coerceArray(doc.repositories).filter(isOCIRegistry)) {
       const loginCmd = await generateRegistryLoginCmd(