code: def login_to_github_docker_registry(
      github_token: str | None, output: Output | None
  ) -> tuple[int, str]:
      """
      In case of CI environment, we need to login to GitHub Registry.
  
      :param github_token: Github token to use
      :param output: Output to redirect to
  
      :return  tuple of error code and message
      """
      if os.environ.get("CI"):
          if not github_token:
              get_console(output=output).print(
                  "\n[info]Skip logging in to GitHub Registry. No Token available!"
              )
              return 0, "Docker login skipped as no token available"
          run_command(
              ["docker", "logout", "ghcr.io"],
              output=output,
              text=False,
              check=False,
          )
          command_result = run_command(
              [
                  "docker",
                  "login",
                  "ghcr.io",
                  "--username",
                  "$",
                  "--password-stdin",
              ],
              output=output,
              text=True,
              input=github_token,
              check=False,
          )
          return command_result.returncode, "Docker login"
      return 0, "Docker login skipped"
  
imports: from __future__ import annotations
  import os
  from airflow_breeze.utils.console import Output, get_console
  from airflow_breeze.utils.run_utils import run_command
label_desc: Use image node_id 1 for calling a global function with example usage: login_to_github_docker_registry(github_token, output) and returns: int,  str, command_result,  str, int,  str