code: def main(config_file: str) -> None:
      with open(config_file) as f:
          config = yaml.YAML(typ="safe", pure=True).load(f)
  
      for image_type, tag_pair in config.items():
          if "old" not in tag_pair:
              print(
                  f'\x1b[33mskipping {image_type} which has no "old" tag\x1b[m',
                  file=sys.stderr,
              )
              continue
  
          old_tag = tag_pair["old"]
          new_tag = tag_pair["new"]
  
          for path in list_git_paths_with_tag(
              old_tag, ignore_files=[config_file]
          ):
              replace_tags(path, old_tag, new_tag)
  
      print("Successfully modified all files.", file=sys.stderr)
  
file_path: determined/tools/scripts/bumpenvs.py
imports: import os
  import subprocess
  import sys
  from typing import List
  from ruamel import yaml
label_desc: Use image node_id 4 for calling a global function with example usage: main(config_file) without return types