code: def run(self):
      
      cmd = ['gsutil', 'ls', os.path.join(self.source_dir, '**')]
      try:
        files_list = subprocess.check_output(cmd).split('\n')
      except subprocess.CalledProcessError:
        logging.error('Can''t read source directory')
      all_submissions = [
          s for s in files_list
          if s.endswith('.zip') or s.endswith('.tar') or s.endswith('.tar.gz')
      ]
      for submission_path in all_submissions:
        self.validate_and_copy_one_submission(submission_path)
      self.stats.log_stats()
      self.save_id_to_path_mapping()
      if self.containers_file:
        with open(self.containers_file, 'w') as f:
          f.write('\n'.join(sorted(self.list_of_containers)))
docs: Runs validation of all submissions.