code: def read_and_validate_release_test_collection(
      config_files: List[str],
      schema_file: Optional[str] = None,
  ) -> List[Test]:
      """Read and validate test collection from config file"""
      tests = []
      for config_file in config_files:
          with open(bazel_runfile(config_file), "rt") as fp:
              tests += parse_test_definition(yaml.safe_load(fp))
  
      validate_release_test_collection(tests, schema_file=schema_file)
      return tests
  
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 1 for calling a global function with example usage: read_and_validate_release_test_collection(config_files, schema_file) and returns: tests