This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 9c168b76e8 New breeze command to clean up previous provider artifacts 
(#35970)
9c168b76e8 is described below

commit 9c168b76e8b0c518b75a6d4226489f68d7a6987f
Author: Amogh Desai <amoghrajesh1...@gmail.com>
AuthorDate: Sun Dec 3 05:56:32 2023 +0530

    New breeze command to clean up previous provider artifacts (#35970)
    
    
    ---------
    
    Co-authored-by: Jarek Potiuk <ja...@potiuk.com>
---
 BREEZE.rst                                         |  16 +++
 dev/README_RELEASE_PROVIDER_PACKAGES.md            |   6 +-
 .../commands/release_management_commands.py        |  83 ++++++++++++++-
 .../commands/release_management_commands_config.py |   7 ++
 .../src/airflow_breeze/utils/common_options.py     |   8 ++
 dev/provider_packages/remove_old_releases.py       | 107 -------------------
 images/breeze/output_release-management.svg        |  28 ++---
 images/breeze/output_release-management.txt        |   2 +-
 ...ase-management_clean-old-provider-artifacts.svg | 114 +++++++++++++++++++++
 ...ase-management_clean-old-provider-artifacts.txt |   1 +
 .../output_setup_check-all-params-in-groups.svg    |  46 +++++----
 .../output_setup_check-all-params-in-groups.txt    |   2 +-
 .../output_setup_regenerate-command-images.svg     |  26 ++---
 .../output_setup_regenerate-command-images.txt     |   2 +-
 14 files changed, 287 insertions(+), 161 deletions(-)

diff --git a/BREEZE.rst b/BREEZE.rst
index a91f1a9119..4350c243e4 100644
--- a/BREEZE.rst
+++ b/BREEZE.rst
@@ -2369,6 +2369,22 @@ You can read more details about what happens when you 
update constraints in the
 `Manually generating image cache and constraints 
<dev/MANUALLY_GENERATING_IMAGE_CACHE_AND_CONSTRAINTS.md>`_
 
 
+Cleaning up of old providers
+""""""""""""""""""""""""""""
+
+During the provider releases, we need to clean up the older provider versions 
in the SVN release folder.
+Earlier this was done using a script, but now it is being migrated to a breeze 
command to ease the life of
+release managers for providers. This can be achieved using ``breeze 
release-management clean-old-provider-artifacts``
+command.
+
+
+These are all available flags of ``clean-old-provider-artifacts`` command:
+
+.. image:: 
./images/breeze/images/breeze/output_release-management_clean-old-provider-artifacts.svg
+  :target: 
https://raw.githubusercontent.com/apache/airflow/main/images/breeze/images/breeze/output_release-management_clean-old-provider-artifacts.svg
+  :width: 100%
+  :alt: Breeze Clean Old Provider Artifacts
+
 SBOM generation tasks
 ----------------------
 
diff --git a/dev/README_RELEASE_PROVIDER_PACKAGES.md 
b/dev/README_RELEASE_PROVIDER_PACKAGES.md
index 711bb1713c..1f116212cd 100644
--- a/dev/README_RELEASE_PROVIDER_PACKAGES.md
+++ b/dev/README_RELEASE_PROVIDER_PACKAGES.md
@@ -1039,11 +1039,11 @@ do
  svn mv "${file}" "${base_file//rc[0-9]/}"
 done
 
-# Check which old packages will be removed (you need Python 3.8+ and 
dev/requirements.txt installed)
-python ${AIRFLOW_REPO_ROOT}/dev/provider_packages/remove_old_releases.py 
--directory .
+# Check which old packages will be removed using dry run
+breeze release-management clean-old-provider-artifacts --directory . --dry-run
 
 # Remove those packages
-python ${AIRFLOW_REPO_ROOT}/dev/provider_packages/remove_old_releases.py 
--directory . --execute
+breeze release-management clean-old-provider-artifacts --directory .
 
 # You need to do go to the asf-dist directory in order to commit both dev and 
release together
 cd ${ASF_DIST_PARENT}/asf-dist
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index 3822d9da4b..ad77e97b79 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -16,6 +16,8 @@
 # under the License.
 from __future__ import annotations
 
+import glob
+import operator
 import os
 import re
 import shlex
@@ -23,11 +25,12 @@ import shutil
 import sys
 import textwrap
 import time
+from collections import defaultdict
 from copy import deepcopy
 from datetime import datetime
 from pathlib import Path
 from subprocess import DEVNULL
-from typing import IO, Any, Generator, NamedTuple
+from typing import IO, TYPE_CHECKING, Any, Generator, NamedTuple
 
 import click
 from rich.progress import Progress
@@ -74,6 +77,7 @@ from airflow_breeze.utils.common_options import (
     option_chicken_egg_providers,
     option_commit_sha,
     option_debug_resources,
+    option_directory,
     option_dry_run,
     option_github_repository,
     option_historical_python_version,
@@ -149,6 +153,17 @@ option_debug_release_management = click.option(
     envvar="DEBUG",
 )
 
+if TYPE_CHECKING:
+    from packaging.version import Version
+
+
+class VersionedFile(NamedTuple):
+    base: str
+    version: str
+    suffix: str
+    type: str
+    comparable_version: Version
+
 
 def run_docker_command_with_debug(
     shell_params: ShellParams,
@@ -209,7 +224,6 @@ WHEEL_VERSION = "0.36.2"
 GITPYTHON_VERSION = "3.1.40"
 RICH_VERSION = "13.7.0"
 
-
 AIRFLOW_BUILD_DOCKERFILE = f"""
 FROM 
python:{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}-slim-{ALLOWED_DEBIAN_VERSIONS[0]}
 RUN apt-get update && apt-get install -y --no-install-recommends git
@@ -1214,6 +1228,56 @@ def _add_chicken_egg_providers_to_build_args(
         python_build_args["DOCKER_CONTEXT_FILES"] = "./docker-context-files"
 
 
+@release_management.command(
+    name="clean-old-provider-artifacts",
+    help="Cleans the old provider artifacts",
+)
+@option_directory
+@option_verbose
+@option_dry_run
+def clean_old_provider_artifacts(
+    directory: str,
+):
+    """Cleans up the old airflow providers artifacts in order to maintain
+    only one provider version in the release SVN folder"""
+    cleanup_suffixes = [
+        ".tar.gz",
+        ".tar.gz.sha512",
+        ".tar.gz.asc",
+        "-py3-none-any.whl",
+        "-py3-none-any.whl.sha512",
+        "-py3-none-any.whl.asc",
+    ]
+
+    for suffix in cleanup_suffixes:
+        get_console().print(f"[info]Running provider cleanup for suffix: 
{suffix}[/]")
+        package_types_dicts: dict[str, list[VersionedFile]] = defaultdict(list)
+        os.chdir(directory)
+
+        for file in glob.glob(f"*{suffix}"):
+            versioned_file = split_version_and_suffix(file, suffix)
+            package_types_dicts[versioned_file.type].append(versioned_file)
+
+        for package_types in package_types_dicts.values():
+            package_types.sort(key=operator.attrgetter("comparable_version"))
+
+        for package_types in package_types_dicts.values():
+            if len(package_types) == 1:
+                versioned_file = package_types[0]
+                get_console().print(
+                    f"[success]Leaving the only version: "
+                    f"{versioned_file.base + versioned_file.version + 
versioned_file.suffix}[/]"
+                )
+            # Leave only last version from each type
+            for versioned_file in package_types[:-1]:
+                get_console().print(
+                    f"""[warning]Removing {versioned_file.base + 
versioned_file.version +
+                versioned_file.suffix} as they are older than remaining file"""
+                )
+                command = ["svn", "rm", versioned_file.base + 
versioned_file.version + versioned_file.suffix]
+                run_command(command, check=False)
+
+
 @release_management.command(
     name="release-prod-images", help="Release production images to DockerHub 
(needs DockerHub permissions)."
 )
@@ -1841,3 +1905,18 @@ def update_constraints(
             if confirm_modifications(constraints_repo):
                 commit_constraints_and_tag(constraints_repo, airflow_version, 
commit_message)
                 push_constraints_and_tag(constraints_repo, remote_name, 
airflow_version)
+
+
+def split_version_and_suffix(file_name: str, suffix: str) -> VersionedFile:
+    from packaging.version import Version
+
+    no_suffix_file = file_name[: -len(suffix)]
+    no_version_file, version = no_suffix_file.rsplit("-", 1)
+    no_version_file = no_version_file.replace("_", "-")
+    return VersionedFile(
+        base=no_version_file + "-",
+        version=version,
+        suffix=suffix,
+        type=no_version_file + "-" + suffix,
+        comparable_version=Version(version),
+    )
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index fb60e12463..207b02f63e 100644
--- 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++ 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -36,6 +36,7 @@ RELEASE_PROVIDERS_COMMANDS: dict[str, str | list[str]] = {
         "verify-provider-packages",
         "generate-providers-metadata",
         "generate-issue-content-providers",
+        "clean-old-provider-artifacts",
     ],
 }
 
@@ -203,6 +204,12 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, 
str | list[str]]]] = {
             ],
         }
     ],
+    "breeze release-management clean-old-provider-artifacts": [
+        {
+            "name": "Cleans the old provider artifacts",
+            "options": ["--directory"],
+        }
+    ],
     "breeze release-management generate-providers-metadata": [
         {"name": "Generate providers metadata flags", "options": 
["--refresh-constraints", "--python"]}
     ],
diff --git a/dev/breeze/src/airflow_breeze/utils/common_options.py 
b/dev/breeze/src/airflow_breeze/utils/common_options.py
index 4f6705934a..fa8ce7f445 100644
--- a/dev/breeze/src/airflow_breeze/utils/common_options.py
+++ b/dev/breeze/src/airflow_breeze/utils/common_options.py
@@ -563,6 +563,14 @@ option_skip_cleanup = click.option(
     is_flag=True,
     envvar="SKIP_CLEANUP",
 )
+
+option_directory = click.option(
+    "--directory",
+    type=click.Path(exists=True, file_okay=False, dir_okay=True, 
resolve_path=True),
+    required=True,
+    help="Directory to clean the provider artifacts from.",
+)
+
 option_include_mypy_volume = click.option(
     "--include-mypy-volume",
     help="Whether to include mounting of the mypy volume (useful for debugging 
mypy).",
diff --git a/dev/provider_packages/remove_old_releases.py 
b/dev/provider_packages/remove_old_releases.py
deleted file mode 100644
index 33ee56a751..0000000000
--- a/dev/provider_packages/remove_old_releases.py
+++ /dev/null
@@ -1,107 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""
-Removes older releases of provider packages from the folder using svn rm.
-
-It iterates over the folder specified as first parameter and removes all but 
latest releases of
-packages found in that directory.
-"""
-from __future__ import annotations
-
-import argparse
-import glob
-import operator
-import os
-import subprocess
-from collections import defaultdict
-from typing import NamedTuple
-
-from packaging.version import Version
-
-
-class VersionedFile(NamedTuple):
-    base: str
-    version: str
-    suffix: str
-    type: str
-    comparable_version: Version
-
-
-def split_version_and_suffix(file_name: str, suffix: str) -> VersionedFile:
-    no_suffix_file = file_name[: -len(suffix)]
-    no_version_file, version = no_suffix_file.rsplit("-", 1)
-    no_version_file = no_version_file.replace("_", "-")
-    return VersionedFile(
-        base=no_version_file + "-",
-        version=version,
-        suffix=suffix,
-        type=no_version_file + "-" + suffix,
-        comparable_version=Version(version),
-    )
-
-
-def process_all_files(directory: str, suffix: str, execute: bool):
-    package_types_dicts: dict[str, list[VersionedFile]] = defaultdict(list)
-    os.chdir(directory)
-
-    for file in glob.glob("*" + suffix):
-        versioned_file = split_version_and_suffix(file, suffix)
-        package_types_dicts[versioned_file.type].append(versioned_file)
-
-    for package_types in package_types_dicts.values():
-        package_types.sort(key=operator.attrgetter("comparable_version"))
-
-    for package_types in package_types_dicts.values():
-        if len(package_types) == 1:
-            versioned_file = package_types[0]
-            print(
-                "Leaving the only version: "
-                f"{versioned_file.base + versioned_file.version + 
versioned_file.suffix}"
-            )
-        # Leave only last version from each type
-        for versioned_file in package_types[:-1]:
-            command = ["svn", "rm", versioned_file.base + 
versioned_file.version + versioned_file.suffix]
-            if not execute:
-                print(command)
-            else:
-                subprocess.run(command, check=True)
-
-
-def parse_args() -> argparse.Namespace:
-    parser = argparse.ArgumentParser(description="Removes old releases.")
-    parser.add_argument(
-        "--directory",
-        dest="directory",
-        action="store",
-        required=True,
-        help="Directory to remove old releases in",
-    )
-    parser.add_argument(
-        "--execute", dest="execute", action="store_true", help="Execute the 
removal rather than dry run"
-    )
-    return parser.parse_args()
-
-
-if __name__ == "__main__":
-    args = parse_args()
-    process_all_files(args.directory, ".tar.gz", args.execute)
-    process_all_files(args.directory, ".tar.gz.sha512", args.execute)
-    process_all_files(args.directory, ".tar.gz.asc", args.execute)
-    process_all_files(args.directory, "-py3-none-any.whl", args.execute)
-    process_all_files(args.directory, "-py3-none-any.whl.sha512", args.execute)
-    process_all_files(args.directory, "-py3-none-any.whl.asc", args.execute)
diff --git a/images/breeze/output_release-management.svg 
b/images/breeze/output_release-management.svg
index ccfef4e9ee..13ff72831f 100644
--- a/images/breeze/output_release-management.svg
+++ b/images/breeze/output_release-management.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 806.4" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 830.8" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -42,7 +42,7 @@
 
     <defs>
     <clipPath id="breeze-release-management-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="755.4" />
+      <rect x="0" y="0" width="1463.0" height="779.8" />
     </clipPath>
     <clipPath id="breeze-release-management-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -134,9 +134,12 @@
 <clipPath id="breeze-release-management-line-29">
     <rect x="0" y="709.1" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-line-30">
+    <rect x="0" y="733.5" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="804.4" rx="8"/><text 
class="breeze-release-management-title" fill="#c5c8c6" text-anchor="middle" 
x="740" y="27">Command:&#160;release-management</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="828.8" rx="8"/><text 
class="breeze-release-management-title" fill="#c5c8c6" text-anchor="middle" 
x="740" y="27">Command:&#160;release-management</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -168,15 +171,16 @@
 </text><text class="breeze-release-management-r5" x="0" y="483.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-19)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="483.6" textLength="439.2" 
clip-path="url(#breeze-release-management-line-19)">verify-provider-packages&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="488" y="483.6" textLength="951.6" 
clip-path="url(#breeze-release-m [...]
 </text><text class="breeze-release-management-r5" x="0" y="508" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-20)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="508" textLength="439.2" 
clip-path="url(#breeze-release-management-line-20)">generate-providers-metadata&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="488" y="508" textLength="951.6" 
clip-path="url(#breeze-release-management-line-20)">G [...]
 </text><text class="breeze-release-management-r5" x="0" y="532.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-21)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="532.4" textLength="439.2" 
clip-path="url(#breeze-release-management-line-21)">generate-issue-content-providers&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="488" y="532.4" textLength="951.6" 
clip-path="url(#breeze-release-management-line-21)">Generates&#160;conte [...]
-</text><text class="breeze-release-management-r5" x="0" y="556.8" 
textLength="1464" 
clip-path="url(#breeze-release-management-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-r1" x="1464" y="556.8" textLength="12.2" 
clip-path="url(#breeze-release-management-line-22)">
-</text><text class="breeze-release-management-r5" x="0" y="581.2" 
textLength="24.4" 
clip-path="url(#breeze-release-management-line-23)">╭─</text><text 
class="breeze-release-management-r5" x="24.4" y="581.2" textLength="292.8" 
clip-path="url(#breeze-release-management-line-23)">&#160;Other&#160;release&#160;commands&#160;</text><text
 class="breeze-release-management-r5" x="317.2" y="581.2" textLength="1122.4" 
clip-path="url(#breeze-release-management-line-23)">────────────────────────────
 [...]
-</text><text class="breeze-release-management-r5" x="0" y="605.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-24)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="605.6" textLength="280.6" 
clip-path="url(#breeze-release-management-line-24)">publish-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="329.4" y="605.6" textLength="1110.2" 
clip-path="url(#breeze-release-management-line- [...]
-</text><text class="breeze-release-management-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-25)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="630" textLength="280.6" 
clip-path="url(#breeze-release-management-line-25)">generate-constraints&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="329.4" y="630" textLength="1110.2" 
clip-path="url(#breeze-release-management-line-25)">Generates&#160;pinned&#160;constraint&#16
 [...]
-</text><text class="breeze-release-management-r5" x="0" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-26)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="654.4" textLength="280.6" 
clip-path="url(#breeze-release-management-line-26)">add-back-references&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="329.4" y="654.4" textLength="1110.2" 
clip-path="url(#breeze-release-management-line-26)">Command&#160;to&#160;add&#160;
 [...]
-</text><text class="breeze-release-management-r5" x="0" y="678.8" 
textLength="1464" 
clip-path="url(#breeze-release-management-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-r1" x="1464" y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-line-27)">
-</text><text class="breeze-release-management-r5" x="0" y="703.2" 
textLength="24.4" 
clip-path="url(#breeze-release-management-line-28)">╭─</text><text 
class="breeze-release-management-r5" x="24.4" y="703.2" textLength="122" 
clip-path="url(#breeze-release-management-line-28)">&#160;Commands&#160;</text><text
 class="breeze-release-management-r5" x="146.4" y="703.2" textLength="1293.2" 
clip-path="url(#breeze-release-management-line-28)">──────────────────────────────────────────────────────
 [...]
-</text><text class="breeze-release-management-r5" x="0" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-29)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="727.6" textLength="390.4" 
clip-path="url(#breeze-release-management-line-29)">update-constraints&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="439.2" y="727.6" textLength="1000.4" 
clip-path="url(#breeze- [...]
-</text><text class="breeze-release-management-r5" x="0" y="752" 
textLength="1464" 
clip-path="url(#breeze-release-management-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-r1" x="1464" y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-line-30)">
+</text><text class="breeze-release-management-r5" x="0" y="556.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-22)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="556.8" textLength="439.2" 
clip-path="url(#breeze-release-management-line-22)">clean-old-provider-artifacts&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="488" y="556.8" textLength="951.6" 
clip-path="url(#breeze-release-management-line-22)"> [...]
+</text><text class="breeze-release-management-r5" x="0" y="581.2" 
textLength="1464" 
clip-path="url(#breeze-release-management-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-r1" x="1464" y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-line-23)">
+</text><text class="breeze-release-management-r5" x="0" y="605.6" 
textLength="24.4" 
clip-path="url(#breeze-release-management-line-24)">╭─</text><text 
class="breeze-release-management-r5" x="24.4" y="605.6" textLength="292.8" 
clip-path="url(#breeze-release-management-line-24)">&#160;Other&#160;release&#160;commands&#160;</text><text
 class="breeze-release-management-r5" x="317.2" y="605.6" textLength="1122.4" 
clip-path="url(#breeze-release-management-line-24)">────────────────────────────
 [...]
+</text><text class="breeze-release-management-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-25)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="630" textLength="280.6" 
clip-path="url(#breeze-release-management-line-25)">publish-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="329.4" y="630" textLength="1110.2" 
clip-path="url(#breeze-release-management-line-25)">C [...]
+</text><text class="breeze-release-management-r5" x="0" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-26)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="654.4" textLength="280.6" 
clip-path="url(#breeze-release-management-line-26)">generate-constraints&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="329.4" y="654.4" textLength="1110.2" 
clip-path="url(#breeze-release-management-line-26)">Generates&#160;pinned&#160;constrai
 [...]
+</text><text class="breeze-release-management-r5" x="0" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-27)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="678.8" textLength="280.6" 
clip-path="url(#breeze-release-management-line-27)">add-back-references&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="329.4" y="678.8" textLength="1110.2" 
clip-path="url(#breeze-release-management-line-27)">Command&#160;to&#160;add&#160;
 [...]
+</text><text class="breeze-release-management-r5" x="0" y="703.2" 
textLength="1464" 
clip-path="url(#breeze-release-management-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-r1" x="1464" y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-line-28)">
+</text><text class="breeze-release-management-r5" x="0" y="727.6" 
textLength="24.4" 
clip-path="url(#breeze-release-management-line-29)">╭─</text><text 
class="breeze-release-management-r5" x="24.4" y="727.6" textLength="122" 
clip-path="url(#breeze-release-management-line-29)">&#160;Commands&#160;</text><text
 class="breeze-release-management-r5" x="146.4" y="727.6" textLength="1293.2" 
clip-path="url(#breeze-release-management-line-29)">──────────────────────────────────────────────────────
 [...]
+</text><text class="breeze-release-management-r5" x="0" y="752" 
textLength="12.2" 
clip-path="url(#breeze-release-management-line-30)">│</text><text 
class="breeze-release-management-r4" x="24.4" y="752" textLength="390.4" 
clip-path="url(#breeze-release-management-line-30)">update-constraints&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-release-management-r1" x="439.2" y="752" textLength="1000.4" 
clip-path="url(#breeze-releas [...]
+</text><text class="breeze-release-management-r5" x="0" y="776.4" 
textLength="1464" 
clip-path="url(#breeze-release-management-line-31)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-r1" x="1464" y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-line-31)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output_release-management.txt 
b/images/breeze/output_release-management.txt
index 358e016f3e..c446570e2e 100644
--- a/images/breeze/output_release-management.txt
+++ b/images/breeze/output_release-management.txt
@@ -1 +1 @@
-302213acf4f3dfbe296e44532cff71c5
+62b597858ea84bae695ddeba5e8c34f2
diff --git 
a/images/breeze/output_release-management_clean-old-provider-artifacts.svg 
b/images/breeze/output_release-management_clean-old-provider-artifacts.svg
new file mode 100644
index 0000000000..e4c8b725b0
--- /dev/null
+++ b/images/breeze/output_release-management_clean-old-provider-artifacts.svg
@@ -0,0 +1,114 @@
+<svg class="rich-terminal" viewBox="0 0 1482 367.2" 
xmlns="http://www.w3.org/2000/svg";>
+    <!-- Generated with Rich https://www.textualize.io -->
+    <style>
+
+    @font-face {
+        font-family: "Fira Code";
+        src: local("FiraCode-Regular"),
+                
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2";)
 format("woff2"),
+                
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff";)
 format("woff");
+        font-style: normal;
+        font-weight: 400;
+    }
+    @font-face {
+        font-family: "Fira Code";
+        src: local("FiraCode-Bold"),
+                
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2";)
 format("woff2"),
+                
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff";)
 format("woff");
+        font-style: bold;
+        font-weight: 700;
+    }
+
+    .breeze-release-management-clean-old-provider-artifacts-matrix {
+        font-family: Fira Code, monospace;
+        font-size: 20px;
+        line-height: 24.4px;
+        font-variant-east-asian: full-width;
+    }
+
+    .breeze-release-management-clean-old-provider-artifacts-title {
+        font-size: 18px;
+        font-weight: bold;
+        font-family: arial;
+    }
+
+    .breeze-release-management-clean-old-provider-artifacts-r1 { fill: #c5c8c6 
}
+.breeze-release-management-clean-old-provider-artifacts-r2 { fill: #d0b344 }
+.breeze-release-management-clean-old-provider-artifacts-r3 { fill: 
#c5c8c6;font-weight: bold }
+.breeze-release-management-clean-old-provider-artifacts-r4 { fill: 
#68a0b3;font-weight: bold }
+.breeze-release-management-clean-old-provider-artifacts-r5 { fill: #868887 }
+.breeze-release-management-clean-old-provider-artifacts-r6 { fill: #cc555a }
+.breeze-release-management-clean-old-provider-artifacts-r7 { fill: #8d7b39 }
+.breeze-release-management-clean-old-provider-artifacts-r8 { fill: #8a4346 }
+.breeze-release-management-clean-old-provider-artifacts-r9 { fill: 
#98a84b;font-weight: bold }
+    </style>
+
+    <defs>
+    <clipPath 
id="breeze-release-management-clean-old-provider-artifacts-clip-terminal">
+      <rect x="0" y="0" width="1463.0" height="316.2" />
+    </clipPath>
+    <clipPath 
id="breeze-release-management-clean-old-provider-artifacts-line-0">
+    <rect x="0" y="1.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-1">
+    <rect x="0" y="25.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-2">
+    <rect x="0" y="50.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-3">
+    <rect x="0" y="74.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-4">
+    <rect x="0" y="99.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-5">
+    <rect x="0" y="123.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-6">
+    <rect x="0" y="147.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-7">
+    <rect x="0" y="172.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-8">
+    <rect x="0" y="196.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-9">
+    <rect x="0" y="221.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-10">
+    <rect x="0" y="245.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-clean-old-provider-artifacts-line-11">
+    <rect x="0" y="269.9" width="1464" height="24.65"/>
+            </clipPath>
+    </defs>
+
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="365.2" rx="8"/><text 
class="breeze-release-management-clean-old-provider-artifacts-title" 
fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;clean-old-provider-artifacts</text>
+            <g transform="translate(26,22)">
+            <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
+            <circle cx="22" cy="0" r="7" fill="#febc2e"/>
+            <circle cx="44" cy="0" r="7" fill="#28c840"/>
+            </g>
+        
+    <g transform="translate(9, 41)" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-clip-terminal)">
+    
+    <g class="breeze-release-management-clean-old-provider-artifacts-matrix">
+    <text class="breeze-release-management-clean-old-provider-artifacts-r1" 
x="1464" y="20" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-0)">
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r2" 
x="12.2" y="44.4" textLength="73.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-1)">Usage:</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r3" x="97.6" 
y="44.4" textLength="658.8" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-1)">breeze&#160;release-management&#160;clean-old-provider-artifacts</text><text
 class="breeze-rele [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r1" 
x="1464" y="68.8" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-2)">
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r1" 
x="12.2" y="93.2" textLength="402.6" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-3)">Cleans&#160;the&#160;old&#160;provider&#160;artifacts</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r1" x="1464" 
y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-3)">
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r1" 
x="1464" y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-4)">
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="142" textLength="24.4" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-5)">╭─</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r5" x="24.4" 
y="142" textLength="427" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-5)">&#160;Cleans&#160;the&#160;old&#160;provider&#160;artifacts&#160;</text><text
 class="breeze-release-manage [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-6)">│</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r6" x="24.4" 
y="166.4" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-6)">*</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r4" x="61" 
y="166.4" textL [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="190.8" textLength="1464" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r1" x="1464" 
y="190.8" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-ar [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="215.2" textLength="24.4" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-8)">╭─</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r5" x="24.4" 
y="215.2" textLength="195.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-8)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-clean-old-provider-arti [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-9)">│</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r4" x="24.4" 
y="239.6" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-9)">-</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r4" x="36.6" 
y="239.6" tex [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-10)">│</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r4" x="24.4" 
y="264" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-10)">-</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r4" x="36.6" 
y="264" textLen [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-11)">│</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r4" x="24.4" 
y="288.4" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-11)">-</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r4" x="36.6" 
y="288.4" t [...]
+</text><text class="breeze-release-management-clean-old-provider-artifacts-r5" 
x="0" y="312.8" textLength="1464" 
clip-path="url(#breeze-release-management-clean-old-provider-artifacts-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-clean-old-provider-artifacts-r1" x="1464" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-clean-old-provider-a [...]
+</text>
+    </g>
+    </g>
+</svg>
diff --git 
a/images/breeze/output_release-management_clean-old-provider-artifacts.txt 
b/images/breeze/output_release-management_clean-old-provider-artifacts.txt
new file mode 100644
index 0000000000..b633305376
--- /dev/null
+++ b/images/breeze/output_release-management_clean-old-provider-artifacts.txt
@@ -0,0 +1 @@
+0d88ef952bec9c86180aab0d84a52327
diff --git a/images/breeze/output_setup_check-all-params-in-groups.svg 
b/images/breeze/output_setup_check-all-params-in-groups.svg
index cd1e29e11b..f8b7ce58c0 100644
--- a/images/breeze/output_setup_check-all-params-in-groups.svg
+++ b/images/breeze/output_setup_check-all-params-in-groups.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 830.8" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 855.1999999999999" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-setup-check-all-params-in-groups-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="779.8" />
+      <rect x="0" y="0" width="1463.0" height="804.1999999999999" />
     </clipPath>
     <clipPath id="breeze-setup-check-all-params-in-groups-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -138,9 +138,12 @@
 <clipPath id="breeze-setup-check-all-params-in-groups-line-30">
     <rect x="0" y="733.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-setup-check-all-params-in-groups-line-31">
+    <rect x="0" y="757.9" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="828.8" rx="8"/><text 
class="breeze-setup-check-all-params-in-groups-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;setup&#160;check-all-params-in-groups</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="853.2" rx="8"/><text 
class="breeze-setup-check-all-params-in-groups-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;setup&#160;check-all-params-in-groups</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -164,24 +167,25 @@
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="288.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-11)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="288.4" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-11)">k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;k8s:setup-env&#160;|&#160;k8s:shell&#160;|&#160;&#16
 [...]
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-12)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="312.8" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-12)">k8s:status&#160;|&#160;k8s:tests&#160;|&#160;k8s:upload-k8s-image&#160;|&#160;prod-image&#160;|&#160;prod-image:build&#160;|&#160;prod-image:pull&#160;|&#160;&
 [...]
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="337.2" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">prod-image:verify&#160;|&#160;release-management&#160;|&#160;release-management:add-back-references&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="361.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">release-management:create-minor-branch&#160;|&#160;release-management:generate-constraints&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="386" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="386" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">release-management:generate-issue-content-providers&#160;|&#160;release-management:generate-providers-metadata&#160;|&#160;</text><text
 class="breeze-setup-check-a [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="410.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="410.4" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">release-management:install-provider-packages&#160;|&#160;release-management:prepare-airflow-package&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="434.8" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">release-management:prepare-provider-documentation&#160;|&#160;release-management:prepare-provider-packages&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 cla [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="459.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="459.2" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">release-management:publish-docs&#160;|&#160;release-management:release-prod-images&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="483.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="483.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">release-management:start-rc-process&#160;|&#160;release-management:start-release&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="508" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="508" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">release-management:update-constraints&#160;|&#160;release-management:verify-provider-packages&#160;|&#160;sbom&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="532.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="532.4" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">sbom:build-all-airflow-images&#160;|&#160;sbom:generate-providers-requirements&#160;|&#160;sbom:update-sbom-information&#160;|&#160;&#160;</text><text
 class="b [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="556.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="556.8" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">setup&#160;|&#160;setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;setup:config&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="581.2" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;|&#160;setup:synchronize-local-mounts&#160;|&#160;setup:version&#160;|</text><text
 class="b [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="605.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">shell&#160;|&#160;start-airflow&#160;|&#160;static-checks&#160;|&#160;testing&#160;|&#160;testing:db-tests&#160;|&#160;testing:docker-compose-tests&#160;|&#160
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="630" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">testing:helm-tests&#160;|&#160;testing:integration-tests&#160;|&#160;testing:non-db-tests&#160;|&#160;testing:tests)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="654.4" textLength="1464" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="678.8" textLength="24.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">╭─</text><text
 class="breeze-setup-check-all-params-in-groups-r5" x="24.4" y="678.8" 
textLength="195.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r5" x="219.6" y="678.8" 
textLength="1220" clip-path="url(#breeze-se [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="36.6" y="703.2" 
textLength="97.6" clip-path="url(#breeze-setup-check-all-params-in-groups-li 
[...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="727.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="36.6" y="727.6" 
textLength="48.8" clip-path="url(#breeze-setup-check-all-params-in-groups-li 
[...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="752" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-30)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="752" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-30)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="36.6" y="752" 
textLength="61" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-30)"> [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="776.4" textLength="1464" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-31)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="776.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-31)">
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="361.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">release-management:clean-old-provider-artifacts&#160;|&#160;release-management:create-minor-branch&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="386" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="386" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">release-management:generate-constraints&#160;|&#160;release-management:generate-issue-content-providers&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</tex
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="410.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="410.4" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">release-management:generate-providers-metadata&#160;|&#160;release-management:install-provider-packages&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="434.8" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">release-management:prepare-airflow-package&#160;|&#160;release-management:prepare-provider-documentation&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="459.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="459.2" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">release-management:prepare-provider-packages&#160;|&#160;release-management:publish-docs&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="483.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="483.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">release-management:release-prod-images&#160;|&#160;release-management:start-rc-process&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="508" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="508" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">release-management:start-release&#160;|&#160;release-management:update-constraints&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="532.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="532.4" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">release-management:verify-provider-packages&#160;|&#160;sbom&#160;|&#160;sbom:build-all-airflow-images&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="556.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="556.8" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">sbom:generate-providers-requirements&#160;|&#160;sbom:update-sbom-information&#160;|&#160;setup&#160;|&#160;setup:autocomplete&#160;|&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="581.2" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">setup:check-all-params-in-groups&#160;|&#160;setup:config&#160;|&#160;setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;</text><text
 class="b [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="605.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-24)">|&#160;setup:synchronize-local-mounts&#160;|&#160;setup:version&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;static-checks&#160;|&#160;testing&#160;
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="630" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-25)">testing:db-tests&#160;|&#160;testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;testing:integration-tests&#160;|&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="654.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="654.4" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-26)">testing:non-db-tests&#160;|&#160;testing:tests)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="678.8" textLength="1464" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="703.2" textLength="24.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">╭─</text><text
 class="breeze-setup-check-all-params-in-groups-r5" x="24.4" y="703.2" 
textLength="195.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-28)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r5" x="219.6" y="703.2" 
textLength="1220" clip-path="url(#breeze-se [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="727.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-29)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="36.6" y="727.6" 
textLength="97.6" clip-path="url(#breeze-setup-check-all-params-in-groups-li 
[...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="752" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-30)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="752" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-30)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="36.6" y="752" 
textLength="48.8" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-30) [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="776.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-31)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="776.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-31)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="36.6" y="776.4" 
textLength="61" clip-path="url(#breeze-setup-check-all-params-in-groups-line 
[...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="800.8" textLength="1464" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="800.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-32)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output_setup_check-all-params-in-groups.txt 
b/images/breeze/output_setup_check-all-params-in-groups.txt
index 5d60a82702..a785973bff 100644
--- a/images/breeze/output_setup_check-all-params-in-groups.txt
+++ b/images/breeze/output_setup_check-all-params-in-groups.txt
@@ -1 +1 @@
-dc5302a16d491b4567469e6e1b562186
+ff7ba7e2ad2a27deacc72227a3584b6b
diff --git a/images/breeze/output_setup_regenerate-command-images.svg 
b/images/breeze/output_setup_regenerate-command-images.svg
index d6195eb298..5057857969 100644
--- a/images/breeze/output_setup_regenerate-command-images.svg
+++ b/images/breeze/output_setup_regenerate-command-images.svg
@@ -177,19 +177,19 @@
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="312.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-12)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="312.8" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-12)">k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;k8s:setup-env&#160;|&#160;k8s:shell&#160;|&#160;&#160;&#
 [...]
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="337.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-13)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="337.2" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-13)">k8s:status&#160;|&#160;k8s:tests&#160;|&#160;k8s:upload-k8s-image&#160;|&#160;prod-image&#160;|&#160;prod-image:build&#160;|&#160;prod-image:pull&#160;|&#160;&#160
 [...]
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="361.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-14)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="361.6" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-14)">prod-image:verify&#160;|&#160;release-management&#160;|&#160;release-management:add-back-references&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="386" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="386" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-15)">release-management:create-minor-branch&#160;|&#160;release-management:generate-constraints&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="410.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="410.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-16)">release-management:generate-issue-content-providers&#160;|&#160;release-management:generate-providers-metadata</text><text
 class="breeze-setup-regenerate-command-i [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="434.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="434.8" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-17)">|&#160;release-management:install-provider-packages&#160;|&#160;release-management:prepare-airflow-package&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="459.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="459.2" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-18)">release-management:prepare-provider-documentation&#160;|&#160;release-management:prepare-provider-packages&#160;|&#160;&#160;</text><text
 class="breeze-setup-regen [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="483.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="483.6" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-19)">release-management:publish-docs&#160;|&#160;release-management:release-prod-images&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="508" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="508" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-20)">release-management:start-rc-process&#160;|&#160;release-management:start-release&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="532.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="532.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-21)">release-management:update-constraints&#160;|&#160;release-management:verify-provider-packages&#160;|&#160;sbom&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="556.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="556.8" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-22)">sbom:build-all-airflow-images&#160;|&#160;sbom:generate-providers-requirements&#160;|&#160;sbom:update-sbom-information&#160;</text><text
 class="breeze-setup-regen [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="581.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="581.2" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23)">|&#160;setup&#160;|&#160;setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;setup:config&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="605.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-24)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="605.6" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-24)">setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;|&#160;setup:synchronize-local-mounts&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="630" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">setup:version&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;static-checks&#160;|&#160;testing&#160;|&#160;testing:db-tests&#160;|&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="654.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;testing:integration-tests&#160;|&#160;testing:non-db-tests</text><text
 class="breeze-setup- [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="678.8" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27)">|&#160;testing:tests)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="386" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="386" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-15)">release-management:clean-old-provider-artifacts&#160;|&#160;release-management:create-minor-branch&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="410.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="410.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-16)">release-management:generate-constraints&#160;|&#160;release-management:generate-issue-content-providers&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class="bre [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="434.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="434.8" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-17)">release-management:generate-providers-metadata&#160;|&#160;release-management:install-provider-packages&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class="bre [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="459.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="459.2" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-18)">release-management:prepare-airflow-package&#160;|&#160;release-management:prepare-provider-documentation&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-s [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="483.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="483.6" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-19)">release-management:prepare-provider-packages&#160;|&#160;release-management:publish-docs&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="508" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="508" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-20)">release-management:release-prod-images&#160;|&#160;release-management:start-rc-process&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="532.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="532.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-21)">release-management:start-release&#160;|&#160;release-management:update-constraints&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="556.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="556.8" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-22)">release-management:verify-provider-packages&#160;|&#160;sbom&#160;|&#160;sbom:build-all-airflow-images&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="581.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="581.2" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23)">sbom:generate-providers-requirements&#160;|&#160;sbom:update-sbom-information&#160;|&#160;setup&#160;|&#160;setup:autocomplete&#160;|&#160;&#160;</text><text
 class [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="605.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-24)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="605.6" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-24)">setup:check-all-params-in-groups&#160;|&#160;setup:config&#160;|&#160;setup:regenerate-command-images&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="630" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="630" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">setup:self-upgrade&#160;|&#160;setup:synchronize-local-mounts&#160;|&#160;setup:version&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;&#160;&#160;&#160;&#160
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="654.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="654.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">static-checks&#160;|&#160;testing&#160;|&#160;testing:db-tests&#160;|&#160;testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="678.8" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27)">testing:integration-tests&#160;|&#160;testing:non-db-tests&#160;|&#160;testing:tests)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-28)">│</text><text 
class="breeze-setup-regenerate-command-images-r4" x="24.4" y="703.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-28)">-</text><text 
class="breeze-setup-regenerate-command-images-r4" x="36.6" y="703.2" 
textLength="73.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-28) [...]
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-29)">│</text><text 
class="breeze-setup-regenerate-command-images-r1" x="219.6" y="727.6" 
textLength="170.8" 
clip-path="url(#breeze-setup-regenerate-command-images-line-29)">together&#160;with&#160;</text><text
 class="breeze-setup-regenerate-command-images-r4" x="390.4" y="727.6" 
textLength="12.2" clip-path="url(#breeze-setup-regenera [...]
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="752" 
textLength="1464" 
clip-path="url(#breeze-setup-regenerate-command-images-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-regenerate-command-images-r1" x="1464" y="752" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-30)">
diff --git a/images/breeze/output_setup_regenerate-command-images.txt 
b/images/breeze/output_setup_regenerate-command-images.txt
index 68d92674a7..c1fea28696 100644
--- a/images/breeze/output_setup_regenerate-command-images.txt
+++ b/images/breeze/output_setup_regenerate-command-images.txt
@@ -1 +1 @@
-97c8fd408d3b874a2939958c0dbd2029
+2dd686ef33844512aed7032351111991

Reply via email to