{"record":{"id":"6e44e74fd74bf5a4","repo":"GoogleContainerTools/skaffold","slug":"packaged-appversion-template-w","errorCode":null,"errorMessage":"packaged.appVersion template: %w","messagePattern":"packaged\\.appVersion template: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/deploy/helm/helm.go","lineNumber":690,"sourceCode":"\t\t\treturn \"\", fmt.Errorf(\"tempdir: %w\", err)\n\t\t}\n\t\ttmpDir = t\n\t}\n\n\targs := []string{\"package\", r.ChartPath, \"--destination\", tmpDir}\n\n\tif r.Packaged.Version != \"\" {\n\t\tv, err := util.ExpandEnvTemplate(r.Packaged.Version, nil)\n\t\tif err != nil {\n\t\t\treturn \"\", fmt.Errorf(\"packaged.version template: %w\", err)\n\t\t}\n\t\targs = append(args, \"--version\", v)\n\t}\n\n\tif r.Packaged.AppVersion != \"\" {\n\t\tav, err := util.ExpandEnvTemplate(r.Packaged.AppVersion, nil)\n\t\tif err != nil {\n\t\t\treturn \"\", fmt.Errorf(\"packaged.appVersion template: %w\", err)\n\t\t}\n\t\targs = append(args, \"--app-version\", av)\n\t}\n\n\tbuf := &bytes.Buffer{}\n\n\tif err := helm.Exec(ctx, h, buf, false, nil, args...); err != nil {\n\t\treturn \"\", fmt.Errorf(\"package chart into a .tgz archive: %v: %w\", args, err)\n\t}\n\n\toutput := strings.TrimSpace(buf.String())\n\tidx := strings.Index(output, tmpDir)\n\n\tif idx == -1 {\n\t\treturn \"\", fmt.Errorf(\"unable to find %s in output: %s\", tmpDir, output)\n\t}\n\n\treturn output[idx:], nil","sourceCodeStart":672,"sourceCodeEnd":708,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/deploy/helm/helm.go#L672-L708","documentation":"Wraps util.ExpandEnvTemplate failure when expanding releases[].packaged.appVersion during chart packaging. Same template mechanics as packaged.version but applied to the appVersion flag passed to `helm package`.","triggerScenarios":"Calling Deploy with packaged.appVersion containing {{.VAR}} for an unset variable or malformed template syntax.","commonSituations":"Same as packaged.version: missing CI env vars, syntax typos, stray characters in the app version.","solutions":["Export the referenced env variable","Use a literal appVersion string","Keep appVersion and version templates consistent so one export covers both"],"exampleFix":"// before\npackaged:\n  appVersion: \"{{.APP_REV}}\"\n// after\nexport APP_REV=42\nskaffold run","handlingStrategy":"validation","validationCode":"tpl := release.Packaged.AppVersion\nif strings.Contains(tpl, \"{{\") {\n  if _, err := texttemplate.New(\"t\").Parse(tpl); err != nil { return err }\n  for _, m := range varRegex.FindAllStringSubmatch(tpl, -1) {\n    if os.Getenv(m[1]) == \"\" { return fmt.Errorf(\"env %s unset\", m[1]) }\n  }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Export appVersion variables alongside version variables","Use literal strings where possible","Lint skaffold.yaml templates in CI"],"tags":["helm","template","appversion"],"backgroundTag":"template-env-var-unset","analyzedSha":"a1189de023efc32d4b8e11f395acc678aa555011","analyzedAt":"2026-09-05T12:09:27.064Z","contentChangedAt":"2026-09-05T12:09:27.064Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}