code: def validate_release_test_collection(
      test_collection: List[Test], schema_file: Optional[str] = None
  ):
      try:
          schema = load_schema_file(schema_file)
      except Exception as e:
          raise ReleaseTestConfigError(
              f"Could not load release test validation schema: {e}"
          ) from e
  
      num_errors = 0
      for test in test_collection:
          error = validate_test(test, schema)
          if error:
              logger.error(
                  f"Failed to validate test {test.get('name', '(unnamed)')}: {error}"
              )
              num_errors += 1
  
          error = validate_test_cluster_compute(test)
          if error:
              logger.error(
                  f"Failed to validate test {test.get('name', '(unnamed)')}: {error}"
              )
              num_errors += 1
  
          error = validate_test_cluster_env(test)
          if error:
              logger.error(
                  f"Failed to validate test {test.get('name', '(unnamed)')}: {error}"
              )
              num_errors += 1
  
      if num_errors > 0:
          raise ReleaseTestConfigError(
              f"Release test configuration error: Found {num_errors} test "
              f"validation errors."
          )
  
imports: import copy
  import json
  import os
  import re
  from typing import Dict, List, Optional, Tuple, Any
  import jsonschema
  import yaml
  from ray_release.test import Test, TestDefinition
  from ray_release.anyscale_util import find_cloud_by_name
  from ray_release.bazel import bazel_runfile
  from ray_release.exception import ReleaseTestCLIError, ReleaseTestConfigError
  from ray_release.logger import logger
  from ray_release.util import DeferredEnvVar, deep_update
label_desc: Use image node_id 5 for calling a global function with example usage: validate_release_test_collection(test_collection, schema_file) without return types