func OverrideValuesWithBuildInfo()

in templating/base_render_options.go [83:124]


func OverrideValuesWithBuildInfo(c1 *Config, c2 *Config, opts *BaseRenderOptions) (Values, error) {
	base := map[string]interface{}{
		"Build": map[string]interface{}{
			"ID": opts.ID,
		},
		"Run": map[string]interface{}{
			"ID":           opts.ID,
			"Commit":       opts.Commit,
			"Repository":   opts.Repository,
			"Branch":       opts.Branch,
			"GitTag":       opts.GitTag,
			"TriggeredBy":  opts.TriggeredBy,
			"Registry":     opts.Registry,
			"RegistryName": parseRegistryName(opts.Registry),
			"Date":         opts.Date.Format("20060102-150405z"), // yyyyMMdd-HHmmssz
			"SharedVolume": opts.SharedVolume,
			"OS":           opts.OS,
			"OSVersion":    opts.OSVersion,
			"Architecture": opts.Architecture,
			"TaskName":     opts.TaskName,
		},
	}

	vals, err := OverrideValues(c1, c2)
	if err != nil {
		return base, err
	}

	valsJSON, err := json.Marshal(vals)
	if err != nil {
		return base, errors.Wrap(err, "failed to serialize Values")
	}
	runJSON, err := json.Marshal(base["Run"])
	if err != nil {
		return base, errors.Wrap(err, "failed to serialize Run")
	}

	base["Values"] = vals
	base["ValuesJSON"] = shellQuote(string(valsJSON))
	base["RunJSON"] = shellQuote(string(runJSON))
	return base, nil
}