code: func (source StepSourceModel) validateSource() error {
  	if source.Git == "" {
  		return errors.New("Invalid step: missing or empty required 'source.git' property")
  	}
  
  	if !strings.HasPrefix(source.Git, "http://") && !strings.HasPrefix(source.Git, "https://") {
  		return errors.New("Invalid step: step source should start with http:// or https://")
  	}
  	if !strings.HasSuffix(source.Git, ".git") {
  		return errors.New("Invalid step: step source should end with .git")
  	}
  
  	if source.Commit == "" {
  		return errors.New("Invalid step: missing or empty required 'source.commit' property")
  	}
  	return nil
  }
docs: // ValidateSource ...