@@ -33,12 +33,45 @@ func (h Helm) depBuildArgs(chartPath string) []string {
33
33
return args
34
34
}
35
35
36
+ func createOverridesValuesFile (r latest.HelmRelease ) (string , error ) {
37
+ if len (r .Overrides .Values ) > 0 {
38
+ overrides , err := yaml .Marshal (r .Overrides )
39
+ if err != nil {
40
+ return "" , helm .UserErr ("cannot marshal overrides to create overrides values.yaml" , err )
41
+ }
42
+
43
+ if err := os .WriteFile (constants .HelmOverridesFilename , overrides , 0o666 ); err != nil {
44
+ return "" , helm .UserErr (fmt .Sprintf ("cannot create file %q" , constants .HelmOverridesFilename ), err )
45
+ }
46
+
47
+ defer func () {
48
+ os .Remove (constants .HelmOverridesFilename )
49
+ }()
50
+
51
+ return constants .HelmOverridesFilename , nil
52
+ }
53
+ return "" , nil
54
+ }
55
+
36
56
func (h Helm ) templateArgs (releaseName string , release latest.HelmRelease , builds []graph.Artifact , namespace string , additionalArgs []string ) ([]string , error ) {
37
- var err error
38
57
args := []string {"template" , releaseName , helm .ChartSource (release )}
39
58
args = append (args , h .config .Flags .Template ... )
40
59
args = append (args , additionalArgs ... )
41
60
61
+ overrideArgs , overrideArgsErr := helm .ConstructOverrideArgs (& release , builds , args , h .manifestOverrides )
62
+ if overrideArgsErr != nil {
63
+ return nil , helm .UserErr ("construct override args" , overrideArgsErr )
64
+ }
65
+ args = append (args , overrideArgs ... )
66
+
67
+ overridesFile , overridesFileErr := createOverridesValuesFile (release )
68
+ if overridesFileErr != nil {
69
+ return nil , overridesFileErr
70
+ }
71
+ if overridesFile != "" {
72
+ args = append (args , "-f" , overridesFile )
73
+ }
74
+
42
75
if release .Packaged == nil && release .Version != "" {
43
76
args = append (args , "--version" , release .Version )
44
77
}
@@ -54,27 +87,5 @@ func (h Helm) templateArgs(releaseName string, release latest.HelmRelease, build
54
87
args = append (args , "--skip-tests" )
55
88
}
56
89
57
- args , err = helm .ConstructOverrideArgs (& release , builds , args , h .manifestOverrides )
58
- if err != nil {
59
- return nil , helm .UserErr ("construct override args" , err )
60
- }
61
-
62
- if len (release .Overrides .Values ) > 0 {
63
- overrides , err := yaml .Marshal (release .Overrides )
64
- if err != nil {
65
- return nil , helm .UserErr ("cannot marshal overrides to create overrides values.yaml" , err )
66
- }
67
-
68
- if err := os .WriteFile (constants .HelmOverridesFilename , overrides , 0o666 ); err != nil {
69
- return nil , helm .UserErr (fmt .Sprintf ("cannot create file %q" , constants .HelmOverridesFilename ), err )
70
- }
71
-
72
- defer func () {
73
- os .Remove (constants .HelmOverridesFilename )
74
- }()
75
-
76
- args = append (args , "-f" , constants .HelmOverridesFilename )
77
- }
78
-
79
90
return args , nil
80
91
}
0 commit comments