code: def main(
      test_name: str,
      passing_commit: str,
      failing_commit: str,
      test_collection_file: Tuple[str],
      concurrency: int = 1,
      run_per_commit: int = 1,
      is_full_test: bool = False,
      global_config: str = "oss_config.yaml",
  ) -> None:
      init_global_config(
          bazel_runfile("release/ray_release/configs", global_config),
      )
      if concurrency <= 0:
          raise ValueError(
              f"Concurrency input need to be a positive number, received: {concurrency}"
          )
      test = _get_test(test_name, test_collection_file)
      pre_sanity_check = _sanity_check(
          test,
          passing_commit,
          failing_commit,
          run_per_commit,
          is_full_test,
      )
      if not pre_sanity_check:
          logger.info(
              "Failed pre-saniy check, the test might be flaky or fail due to"
              " an external (not a code change) factors"
          )
          return
      commit_lists = _get_commit_lists(passing_commit, failing_commit)
      blamed_commit = _bisect(
          test, commit_lists, concurrency, run_per_commit, is_full_test
      )
      logger.info(
          f"Blamed commit found for test {test_name}: {blamed_commit}"
      )
      # TODO(can): this env var is used as a feature flag, in case we need to turn this
      # off quickly. We should remove this when the new db reporter is stable.
      if os.environ.get("UPDATE_TEST_STATE_MACHINE", False):
          logger.info(
              f"Updating test state for test {test_name} to CONSISTENTLY_FAILING"
          )
          _update_test_state(test, blamed_commit)
  
imports: import click
  import copy
  import subprocess
  import os
  import json
  import time
  from typing import Dict, List, Set, Tuple
  from pathlib import Path
  from ray_release.bazel import bazel_runfile
  from ray_release.logger import logger
  from ray_release.buildkite.step import get_step
  from ray_release.byod.build import build_anyscale_base_byod_images, build_anyscale_custom_byod_image
  from ray_release.config import read_and_validate_release_test_collection
  from ray_release.configs.global_config import init_global_config
  from ray_release.test import Test
  from ray_release.test_automation.release_state_machine import ReleaseTestStateMachine
label_desc: Use image node_id 1 for calling a global function with example usage: main(test_name, passing_commit, failing_commit, test_collection_file, concurrency, run_per_commit, is_full_test, global_config) without return types