Skip to content

fix(autodiscovery/helmfile): use relative file path in generated manifests - #10109

Merged
olblak merged 4 commits into
updatecli:mainfrom
alecharp:fix/helmfile-autodiscovery-absolute-path
Aug 26, 2026
Merged

olblak merged 4 commits into
updatecli:mainfrom
alecharp:fix/helmfile-autodiscovery-absolute-path

Conversation

@alecharp

Copy link
Copy Markdown
Contributor

Summary

Fixes #10108.

The File field in the generated condition and target was set to foundHelmfile (absolute path within the SCM clone) instead of relativeFoundChartFile. This caused every helmfile-derived pipeline to fail at the condition step when an scmid is configured.

ManifestName and ConditionName already used relativeFoundChartFile correctly — File was the only field that did not.

This is the same bug fixed for the updatecli autodiscovery plugin in #9759; the helmfile plugin was not updated at the same time.

Before

All helmfile-derived condition steps fail with:

✗ Something went wrong:
	init yaml files: absolute path "/tmp/updatecli/.../helmfile.yaml" is not allowed:
	files must stay within the working directory "/tmp/updatecli/..."

The target is skipped due to dependsOn conditions, silently preventing any helmfile release from being updated.

After

Conditions resolve correctly against the SCM clone and targets apply as expected:

✔ key "$.releases[22].chart" is correctly set to "vaultwarden/vaultwarden"
⚠ - change detected:
	* key "$.releases[22].version" updated from "0.44.0" to "0.46.1", in file "helmfile.yaml"

Tested locally by building from this branch and running updatecli pipeline apply against a real helmfile repository — 6 version-bump PRs were opened correctly where previously 0 were.

Checklist

  • I have updated the documentation via pull request in website repository.

alecharp and others added 2 commits August 25, 2026 12:47
…fests

The File field in the generated condition and target was set to
foundHelmfile (absolute path within the SCM clone) instead of
relativeFoundChartFile. This caused every helmfile-derived pipeline
to fail at the condition step with:

  init yaml files: absolute path "..." is not allowed:
  files must stay within the working directory "..."

As a result the target was always skipped, silently preventing any
helmfile release from being updated.

ManifestName and ConditionName already used relativeFoundChartFile
correctly — File was the only field that did not.

Fixes updatecli#10108

Related to updatecli#9759, which fixed the identical pattern in the updatecli
autodiscovery plugin.
@olblak olblak added bug Something isn't working helmfile labels Aug 25, 2026
@olblak

olblak commented Aug 25, 2026

Copy link
Copy Markdown
Member

Thanks for the fix

@olblak
olblak enabled auto-merge (squash) August 25, 2026 19:08
@olblak

olblak commented Aug 26, 2026

Copy link
Copy Markdown
Member

@alecharp Could you fix the broken unit test :)

…path fix

Update test expectations to match the new behavior introduced in
aaba087: file paths in generated manifests are now relative to rootDir,
not to the test's working directory.
auto-merge was automatically disabled August 26, 2026 07:49

Head branch was pushed to by a user without write access

@olblak
olblak enabled auto-merge (squash) August 26, 2026 07:55
@olblak
olblak merged commit 40b447c into updatecli:main Aug 26, 2026
8 checks passed
@alecharp
alecharp deleted the fix/helmfile-autodiscovery-absolute-path branch August 26, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working helmfile

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Helmfile autodiscovery: condition and target fail with "absolute path not allowed" when scmid is set

2 participants