code: func SetDeploymentCondition(status *apps.DeploymentStatus, condition apps.DeploymentCondition) {
  	currentCond := GetDeploymentCondition(*status, condition.Type)
  	if currentCond != nil && currentCond.Status == condition.Status && currentCond.Reason == condition.Reason {
  		return
  	}
  	// Do not update lastTransitionTime if the status of the condition doesn't change.
  	if currentCond != nil && currentCond.Status == condition.Status {
  		condition.LastTransitionTime = currentCond.LastTransitionTime
  	}
  	newConditions := filterOutCondition(status.Conditions, condition.Type)
  	status.Conditions = append(newConditions, condition)
  }
docs: // SetDeploymentCondition updates the deployment to include the provided condition. If the condition that
  // we are about to add already exists and has the same status and reason then we are not going to update.