func loadSteps()

in templating/base_render_options.go [184:220]


func loadSteps(template *Template, opts *BaseRenderOptions) (Values, error) {
	// return empty values list for an empty template.
	if len(template.GetData()) == 0 {
		return nil, nil
	}

	var err error

	config := &Config{}
	if opts.ValuesFile != "" {
		if config, err = LoadConfig(opts.ValuesFile); err != nil {
			return nil, err
		}
	} else if opts.Base64EncodedValuesFile != "" {
		if config, err = DecodeConfig(opts.Base64EncodedValuesFile); err != nil {
			return nil, err
		}
	}

	setConfig := &Config{}
	if len(opts.TemplateValues) > 0 {
		var rawVals string
		rawVals, err = parseValues(opts.TemplateValues)
		if err != nil {
			return nil, err
		}

		setConfig = &Config{RawValue: rawVals, Values: map[string]*Value{}}
	}

	mergedVals, err := OverrideValuesWithBuildInfo(config, setConfig, opts)
	if err != nil {
		return nil, fmt.Errorf("failed to override values: %v", err)
	}

	return mergedVals, nil
}