diff --git a/template/interpolate/funcs.go b/template/interpolate/funcs.go index abe84873f..ba3048823 100644 --- a/template/interpolate/funcs.go +++ b/template/interpolate/funcs.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "os" + "path/filepath" "strconv" "strings" "text/template" @@ -99,7 +100,7 @@ func funcGenTemplatePath(ctx *Context) interface{} { return "", errors.New("template path not available") } - return ctx.TemplatePath, nil + return filepath.Dir(ctx.TemplatePath), nil } } diff --git a/template/interpolate/funcs_test.go b/template/interpolate/funcs_test.go index d6ef3e758..9c7c639f3 100644 --- a/template/interpolate/funcs_test.go +++ b/template/interpolate/funcs_test.go @@ -128,7 +128,7 @@ func TestFuncTemplatePath(t *testing.T) { } ctx := &Context{ - TemplatePath: "foo", + TemplatePath: "foo/bar", } for _, tc := range cases { i := &I{Value: tc.Input}