func()

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
}