in pkg/runner/step_file.go [151:174]
func (s *StepFile) ReadEnvironment() (*Environment, error) {
outputs, err := s.ReadKeyValueLines()
if err != nil {
return nil, fmt.Errorf("read env file: %w", err)
}
env := make(map[string]string)
for key, value := range outputs {
switch value.GetKind().(type) {
case *structpb.Value_BoolValue:
env[key] = strconv.FormatBool(value.GetBoolValue())
case *structpb.Value_NumberValue:
env[key] = strconv.FormatFloat(value.GetNumberValue(), 'f', -1, 64)
case *structpb.Value_StringValue:
env[key] = value.GetStringValue()
default:
return nil, fmt.Errorf("read env file: key %q: cannot convert value type %q to string", key, structpbValueToTypeName(value))
}
}
return NewEnvironment(env), nil
}