code: def _update_test_state(test: Test, blamed_commit: str) -> None:
      test.update_from_s3()
      logger.info(f"Test object: {json.dumps(test)}")
      test[Test.KEY_BISECT_BLAMED_COMMIT] = blamed_commit
  
      # Compute and update the next test state, then comment blamed commit on github issue
      sm = ReleaseTestStateMachine(test)
      sm.move()
      sm.comment_blamed_commit_on_github_issue()
  
      logger.info(f"Test object: {json.dumps(test)}")
      test.persist_to_s3()
  
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 9 for calling a global function with example usage: _update_test_state(test, blamed_commit) without return types