code: def _get_commit_lists(
      passing_commit: str, failing_commit: str
  ) -> List[str]:
      # This command obtains all commits between inclusively
      return (
          subprocess.check_output(
              f"git rev-list --reverse ^{passing_commit}~ {failing_commit}",
              shell=True,
          )
          .decode("utf-8")
          .strip()
          .split("\n")
      )
  
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 8 for calling a global function with example usage: _get_commit_lists(passing_commit, failing_commit) and returns: subprocess