code: def run_matrix_ordered(self, process_data):
          
          output = []
          for entry in self.matrix:
              env = entry['env'].copy()
              env.update({'PIPELINE_MATRIX': entry['name']})
  
              if Matrix.can_process_matrix(entry, process_data.options.matrix_tags):
                  self.logger.info("Processing pipeline for matrix entry '%s'", entry['name'])
                  pipeline = Pipeline(model=process_data.model, env=env,
                                      options=process_data.options)
                  pipeline.hooks = process_data.hooks
                  result = pipeline.process(process_data.pipeline)
                  output += result['output']
                  if not result['success']:
                      return {'success': False, 'output': output}
          return {'success': True, 'output': output}
docs: Running pipelines one after the other.
  
          Returns
              dict: with two fields: success True/False and captured output (list of str).