code: def change_directory_permission(directory_to_fix: Path):
      """Update directory permissions to not be group-writeable. Needed to solve cache invalidation problems."""
      if directory_to_fix.exists():
          current = stat.S_IMODE(os.stat(directory_to_fix).st_mode)
          new = (
              current & ~stat.S_IWGRP & ~stat.S_IWOTH
          )  # Removes group/other write permission
          new = (
              new | stat.S_IXGRP | stat.S_IXOTH
          )  # Add group/other execute permission (to be able to list directories)
          os.chmod(directory_to_fix, new)
  
imports: from __future__ import annotations
  import atexit
  import contextlib
  import os
  import re
  import shlex
  import shutil
  import signal
  import stat
  import subprocess
  import sys
  from functools import lru_cache
  from pathlib import Path
  from typing import Mapping, Union
  from rich.markup import escape
  from airflow_breeze.utils.ci_group import ci_group
  from airflow_breeze.utils.console import Output, get_console
  from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT, WWW_ASSET_COMPILE_LOCK, WWW_ASSET_HASH_FILE, WWW_ASSET_OUT_DEV_MODE_FILE, WWW_ASSET_OUT_FILE, WWW_NODE_MODULES_DIR, WWW_STATIC_DIST_DIR
  from airflow_breeze.utils.shared_options import get_dry_run, get_verbose
label_desc: Use image node_id 8 for calling a global function with example usage: change_directory_permission(directory_to_fix) without return types