in contrib/utils/utils.go [233:256]
func NewRunnerGroupSpecFileFromEmbed(target string, tweakFn func(*types.RunnerGroupSpec) error) (_name string, _cleanup func() error, _ error) {
data, err := manifests.FS.ReadFile(target)
if err != nil {
return "", nil, fmt.Errorf("unexpected error when read %s from embed memory: %v", target, err)
}
if tweakFn != nil {
var spec types.RunnerGroupSpec
if err = yaml.Unmarshal(data, &spec); err != nil {
return "", nil, fmt.Errorf("failed to unmarshal into RunnerGroupSpec:\n (data: %s)\n: %w",
string(data), err)
}
if err = tweakFn(&spec); err != nil {
return "", nil, err
}
data, err = yaml.Marshal(spec)
if err != nil {
return "", nil, fmt.Errorf("failed to marshal RunnerGroupSpec after tweak: %w", err)
}
}
return CreateTempFileWithContent(data)
}