code: def _get_container(
      team: str,
      operating_system: str,
      workers: int,
      worker_id: int,
      parallelism_per_worker: int,
      gpus: int,
      network: Optional[str],
      tmp_filesystem: Optional[str] = None,
      test_env: Optional[List[str]] = None,
      python_version: Optional[str] = None,
      build_name: Optional[str] = None,
      build_type: Optional[str] = None,
      skip_ray_installation: bool = False,
  ) -> TesterContainer:
      shard_count = workers * parallelism_per_worker
      shard_start = worker_id * parallelism_per_worker
      shard_end = (worker_id + 1) * parallelism_per_worker
      if not build_name:
          build_name = (
              f"{team}build-py{python_version}"
              if python_version
              else f"{team}build"
          )
  
      if operating_system == "linux":
          return LinuxTesterContainer(
              build_name,
              test_envs=test_env,
              shard_count=shard_count,
              shard_ids=list(range(shard_start, shard_end)),
              gpus=gpus,
              network=network,
              skip_ray_installation=skip_ray_installation,
              build_type=build_type,
              tmp_filesystem=tmp_filesystem,
          )
  
      if operating_system == "windows":
          return WindowsTesterContainer(
              build_name,
              network=network,
              test_envs=test_env,
              shard_count=shard_count,
              shard_ids=list(range(shard_start, shard_end)),
              skip_ray_installation=skip_ray_installation,
          )
  
      assert False, f"Unsupported operating system: {operating_system}"
  
file_path: ray/ci/ray_ci/tester.py
imports: import os
  import sys
  from typing import List, Tuple, Optional
  import yaml
  import click
  from ci.ray_ci.container import _DOCKER_ECR_REPO
  from ci.ray_ci.builder_container import BuilderContainer, DEFAULT_BUILD_TYPE, DEFAULT_PYTHON_VERSION, DEFAULT_ARCHITECTURE, PYTHON_VERSIONS
  from ci.ray_ci.linux_tester_container import LinuxTesterContainer
  from ci.ray_ci.windows_tester_container import WindowsTesterContainer
  from ci.ray_ci.tester_container import TesterContainer
  from ci.ray_ci.utils import docker_login
  from ray_release.configs.global_config import init_global_config
  from ray_release.bazel import bazel_runfile
label_desc: Use image node_id 3 for calling a global function with example usage: _get_container(team, operating_system, workers, worker_id, parallelism_per_worker, gpus, network, tmp_filesystem, test_env, python_version, build_name, build_type, skip_ray_installation) and returns: LinuxTesterContainer, WindowsTesterContainer