code: def run_step(self):
          
  
          # Resolve ^^task_name.return_value style option syntax
          task_config = self.step.task_config.copy()
          task_config["options"] = task_config["options"].copy()
          self.flow.resolve_return_value_options(task_config["options"])
  
          exc = None
          try:
              task = self.step.task_class(
                  self.project_config,
                  TaskConfig(task_config),
                  org_config=self.org_config,
                  name=self.step.task_name,
                  stepnum=self.step.step_num,
                  flow=self.flow,
              )
              self._log_options(task)
              task()
          except Exception as e:
              self.flow.logger.exception(
                  "Exception in task {}".format(self.step.task_name)
              )
              exc = e
          return StepResult(
              self.step.step_num,
              self.step.task_name,
              self.step.path,
              task.result,
              task.return_values,
              exc,
          )
docs: Run a step.
  
          :return: StepResult