feat: Add a directory property to the result of helmfile build to know where is the file

Signed-off-by: Kevin Biebuyck <kbiebuyck@develop-it.net>
This commit is contained in:
Kevin Biebuyck 2025-05-19 14:58:49 +02:00
parent 470a6140cd
commit ce376a3496
3 changed files with 13 additions and 0 deletions

View File

@ -94,6 +94,12 @@ func (c *StateCreator) Parse(content []byte, baseDir, file string) (*HelmState,
state.FilePath = file
state.basePath = baseDir
absDir, err := filepath.Abs(baseDir)
if err != nil {
return nil, err
}
state.Directory = absDir
state.LockFile = c.lockFile
decode := yaml.NewDecoder(content, c.Strict)

View File

@ -114,6 +114,7 @@ func (hs *HelmState) UnmarshalYAML(unmarshal func(any) error) error {
type HelmState struct {
basePath string
FilePath string
Directory string `yaml:"directory,omitempty"`
ReleaseSetSpec `yaml:",inline"`

View File

@ -2105,6 +2105,7 @@ generated: 2019-05-16T15:42:45.50486+09:00
state := &HelmState{
basePath: basePath,
FilePath: "/src/helmfile.yaml",
Directory: "/src",
ReleaseSetSpec: ReleaseSetSpec{
Releases: []ReleaseSpec{
{
@ -2163,6 +2164,9 @@ generated: 2019-05-16T15:42:45.50486+09:00
if resolved.Releases[4].Version != "1.4.0" {
t.Errorf("HelmState.ResolveDeps() - unexpected version number: expected=1.4.0, got=%s", resolved.Releases[6].Version)
}
if state.Directory != "/src" {
t.Errorf("HelmState.Directory = %v, want %v", state.Directory, "/src")
}
}
func TestHelmState_ResolveDeps_NoLockFile(t *testing.T) {
@ -2170,6 +2174,7 @@ func TestHelmState_ResolveDeps_NoLockFile(t *testing.T) {
state := &HelmState{
basePath: "/src",
FilePath: "/src/helmfile.yaml",
Directory: "/src",
ReleaseSetSpec: ReleaseSetSpec{
Releases: []ReleaseSpec{
{
@ -2220,6 +2225,7 @@ func TestHelmState_ResolveDeps_NoLockFile_WithCustomLockFile(t *testing.T) {
state := &HelmState{
basePath: "/src",
FilePath: "/src/helmfile.yaml",
Directory: "/src",
ReleaseSetSpec: ReleaseSetSpec{
LockFile: "custom-lock-file",
Releases: []ReleaseSpec{