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 <[email protected]>
AuthorDate: Sun Dec 3 05:56:32 2023 +0530
New breeze command to clean up previous provider artifacts (#35970)
---------
Co-authored-by: Jarek Potiuk <[email protected]>
---
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: 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: 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            </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         </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    </text><text
class="breeze-release-management-r1" x="488" y="532.4" textLength="951.6"
clip-path="url(#breeze-release-management-line-21)">Generates 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)"> Other release commands </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           </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   </text><text
class="breeze-release-management-r1" x="329.4" y="630" textLength="1110.2"
clip-path="url(#breeze-release-management-line-25)">Generates pinned constraint
[...]
-</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    </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 to add 
[...]
-</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)"> Commands </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              </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        </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)"> Other release commands </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           </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   </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 pinned 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    </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 to add 
[...]
+</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)"> Commands </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              </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: release-management 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 release-management 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 the old provider 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)"> Cleans the old provider artifacts </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)"> Common options </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: setup 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: setup 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 | k8s:k9s | k8s:logs | k8s:run-complete-tests | k8s:setup-env | k8s:shell | 
[...]
</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 | k8s:tests | k8s:upload-k8s-image | prod-image | prod-image:build | prod-image:pull | &
[...]
</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 | release-management | release-management:add-back-references |         
[...]
-</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 | release-management:generate-constraints |          &#
[...]
-</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 | release-management:generate-providers-metadata | </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 | release-management:prepare-airflow-package |         
[...]
-</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 | release-management:prepare-provider-packages |     </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 | release-management:release-prod-images |           
[...]
-</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 | release-management:start-release |            
[...]
-</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 | release-management:verify-provider-packages | sbom |       
[...]
-</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 | sbom:generate-providers-requirements | sbom:update-sbom-information |  </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 | setup:autocomplete | setup:check-all-params-in-groups | setup:config |       
[...]
-</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 | setup:self-upgrade | setup:synchronize-local-mounts | setup:version |</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 | start-airflow | static-checks | testing | testing:db-tests | testing:docker-compose-tests | 
[...]
-</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 | testing:integration-tests | testing:non-db-tests | testing:tests)        
[...]
-</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)"> Common options </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 | release-management:create-minor-branch |         
[...]
+</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 | release-management:generate-issue-content-providers |        </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 | release-management:install-provider-packages |        <
[...]
+</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 | release-management:prepare-provider-documentation |       </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 | release-management:publish-docs |          
[...]
+</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 | release-management:start-rc-process |           
[...]
+</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 | release-management:update-constraints |            &#
[...]
+</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 | sbom | sbom:build-all-airflow-images |        &#
[...]
+</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 | sbom:update-sbom-information | setup | setup:autocomplete |    &#
[...]
+</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 | setup:config | setup:regenerate-command-images | setup:self-upgrade </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)">| setup:synchronize-local-mounts | setup:version | shell | start-airflow | static-checks | testing 
[...]
+</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 | testing:docker-compose-tests | testing:helm-tests | testing:integration-tests |     
[...]
+</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 | testing:tests)                  
[...]
+</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)"> Common options </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 | k8s:k9s | k8s:logs | k8s:run-complete-tests | k8s:setup-env | k8s:shell |  &#
[...]
</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 | k8s:tests | k8s:upload-k8s-image | prod-image | prod-image:build | prod-image:pull |  
[...]
</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 | release-management | release-management:add-back-references |         
[...]
-</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 | release-management:generate-constraints |           
[...]
-</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 | 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)">| release-management:install-provider-packages | release-management:prepare-airflow-package |       </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 | release-management:prepare-provider-packages |  </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 | release-management:release-prod-images |            &#
[...]
-</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 | release-management:start-release |             &#
[...]
-</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 | release-management:verify-provider-packages | sbom |       
[...]
-</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 | sbom:generate-providers-requirements | sbom:update-sbom-information </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)">| setup | setup:autocomplete | setup:check-all-params-in-groups | setup:config |       &
[...]
-</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 | setup:self-upgrade | setup:synchronize-local-mounts |        
[...]
-</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 | shell | start-airflow | static-checks | testing | testing:db-tests |    
[...]
-</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 | testing:helm-tests | testing:integration-tests | 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)">| testing:tests)                       
[...]
+</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 | release-management:create-minor-branch |          </
[...]
+</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 | release-management:generate-issue-content-providers |     </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 | release-management:install-provider-packages |     </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 | release-management:prepare-provider-documentation |    </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 | release-management:publish-docs |           &#
[...]
+</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 | release-management:start-rc-process |            &#
[...]
+</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 | release-management:update-constraints |            &#
[...]
+</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 | sbom | sbom:build-all-airflow-images |         
[...]
+</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 | sbom:update-sbom-information | setup | setup:autocomplete |  </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 | setup:config | setup:regenerate-command-images |         &
[...]
+</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 | setup:synchronize-local-mounts | setup:version | shell | start-airflow |     
[...]
+</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 | testing | testing:db-tests | testing:docker-compose-tests | testing:helm-tests |   
[...]
+</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 | testing:non-db-tests | testing:tests)             
[...]
</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 with </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