code: def tag_and_push_constraints(version, version_branch):
      if confirm_action("Do you want to tag and push constraints?"):
          run_command(
              [
                  "git",
                  "checkout",
                  f"origin/constraints-{version_branch}",
              ],
              dry_run_override=DRY_RUN,
              check=True,
          )
          run_command(
              [
                  "git",
                  "tag",
                  "-s",
                  f"constraints-{version}",
                  "-m",
                  f"Constraints for Apache Airflow {version}",
              ],
              dry_run_override=DRY_RUN,
              check=True,
          )
          run_command(
              [
                  "git",
                  "push",
                  "origin",
                  "tag",
                  f"constraints-{version}",
              ],
              dry_run_override=DRY_RUN,
              check=True,
          )
          console_print("[success]Constraints tagged and pushed")
  
imports: from __future__ import annotations
  import os
  import shutil
  import click
  from airflow_breeze.commands.common_options import option_answer
  from airflow_breeze.commands.release_management_group import release_management
  from airflow_breeze.utils.confirm import confirm_action
  from airflow_breeze.utils.console import console_print
  from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT
  from airflow_breeze.utils.reproducible import archive_deterministically, get_source_date_epoch
  from airflow_breeze.utils.run_utils import run_command
label_desc: Use image node_id 8 for calling a global function with example usage: tag_and_push_constraints(version, version_branch) without return types