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 91e18bfc3e Add pre-commit to check that aiobotocore is an optional 
dependency (#31023)
91e18bfc3e is described below

commit 91e18bfc3e53002c191b33dbbfd017e152b23935
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu May 4 14:44:22 2023 +0200

    Add pre-commit to check that aiobotocore is an optional dependency (#31023)
---
 .pre-commit-config.yaml                            |  8 +++
 STATIC_CODE_CHECKS.rst                             |  2 +
 dev/breeze/src/airflow_breeze/pre_commit_ids.py    |  1 +
 images/breeze/output-commands-hash.txt             |  2 +-
 images/breeze/output_setup.svg                     | 28 +++++------
 .../output_setup_check-all-params-in-groups.svg    | 52 +++++++++----------
 .../output_setup_regenerate-command-images.svg     | 58 +++++++++++-----------
 images/breeze/output_static-checks.svg             | 18 +++----
 .../pre_commit_check_aiobotocore_optional.py       | 48 ++++++++++++++++++
 9 files changed, 138 insertions(+), 79 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 86655b9135..819c1b160d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -610,6 +610,14 @@ repos:
         language: python
         files: ^.*LICENSE.*$|^.*LICENCE.*$
         pass_filenames: false
+      - id: check-aiobotocore-optional
+        name: Check if aiobotocore is an optional dependency only
+        entry: ./scripts/ci/pre_commit/pre_commit_check_aiobotocore_optional.py
+        language: python
+        files: ^airflow/providers/.*/provider\.yaml$
+        pass_filenames: true
+        additional_dependencies: ['click', 'rich>=12.4.4', 'pyyaml']
+        require_serial: true
       - id: check-airflow-config-yaml-consistent
         name: Checks for consistency between config.yml and default_config.cfg
         language: python
diff --git a/STATIC_CODE_CHECKS.rst b/STATIC_CODE_CHECKS.rst
index 0182a44cd8..7ce128ac94 100644
--- a/STATIC_CODE_CHECKS.rst
+++ b/STATIC_CODE_CHECKS.rst
@@ -144,6 +144,8 @@ require Breeze Docker image to be build locally.
 
+-----------------------------------------------------------+------------------------------------------------------------------+---------+
 | blacken-docs                                              | Run black on 
Python code blocks in documentation files           |         |
 
+-----------------------------------------------------------+------------------------------------------------------------------+---------+
+| check-aiobotocore-optional                                | Check if 
aiobotocore is an optional dependency only              |         |
++-----------------------------------------------------------+------------------------------------------------------------------+---------+
 | check-airflow-config-yaml-consistent                      | Checks for 
consistency between config.yml and default_config.cfg |         |
 
+-----------------------------------------------------------+------------------------------------------------------------------+---------+
 | check-airflow-provider-compatibility                      | Check 
compatibility of Providers with Airflow                    |         |
diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py 
b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
index bf5bc148c5..b4c713360e 100644
--- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
+++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
@@ -26,6 +26,7 @@ PRE_COMMIT_LIST = [
     "all",
     "black",
     "blacken-docs",
+    "check-aiobotocore-optional",
     "check-airflow-config-yaml-consistent",
     "check-airflow-provider-compatibility",
     "check-apache-license-rat",
diff --git a/images/breeze/output-commands-hash.txt 
b/images/breeze/output-commands-hash.txt
index 857c3dd328..5a3625662b 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -55,7 +55,7 @@ setup:version:123b462a421884dc2320ffc5e54b2478
 setup:26f37743534e14f5aad5300aad920301
 shell:bd3e004a92ebcec8feb40fc5cd95872d
 start-airflow:ee5066f1420a489864b48bc4e5e472da
-static-checks:cb1029ee6292860bb9fc425ef67b656d
+static-checks:c22e24fc35d2f82135b30998e4f352c4
 stop:e5aa686b4e53707ced4039d8414d5cd6
 testing:docker-compose-tests:b86c044b24138af0659a05ed6331576c
 testing:helm-tests:936cf28fd84ce4ff5113795fdae9624b
diff --git a/images/breeze/output_setup.svg b/images/breeze/output_setup.svg
index 65185a603f..c313db50ba 100644
--- a/images/breeze/output_setup.svg
+++ b/images/breeze/output_setup.svg
@@ -35,8 +35,8 @@
     .breeze-setup-r1 { fill: #c5c8c6;font-weight: bold }
 .breeze-setup-r2 { fill: #c5c8c6 }
 .breeze-setup-r3 { fill: #d0b344;font-weight: bold }
-.breeze-setup-r4 { fill: #868887 }
-.breeze-setup-r5 { fill: #68a0b3;font-weight: bold }
+.breeze-setup-r4 { fill: #68a0b3;font-weight: bold }
+.breeze-setup-r5 { fill: #868887 }
 .breeze-setup-r6 { fill: #98a84b;font-weight: bold }
     </style>
 
@@ -102,21 +102,21 @@
     
     <g class="breeze-setup-matrix">
     <text class="breeze-setup-r2" x="1464" y="20" textLength="12.2" 
clip-path="url(#breeze-setup-line-0)">
-</text><text class="breeze-setup-r3" x="12.2" y="44.4" textLength="85.4" 
clip-path="url(#breeze-setup-line-1)">Usage:&#160;</text><text 
class="breeze-setup-r1" x="97.6" y="44.4" textLength="488" 
clip-path="url(#breeze-setup-line-1)">breeze&#160;setup&#160;[OPTIONS]&#160;COMMAND&#160;[ARGS]...</text><text
 class="breeze-setup-r2" x="1464" y="44.4" textLength="12.2" 
clip-path="url(#breeze-setup-line-1)">
+</text><text class="breeze-setup-r3" x="12.2" y="44.4" textLength="85.4" 
clip-path="url(#breeze-setup-line-1)">Usage:&#160;</text><text 
class="breeze-setup-r1" x="97.6" y="44.4" textLength="170.8" 
clip-path="url(#breeze-setup-line-1)">breeze&#160;setup&#160;[</text><text 
class="breeze-setup-r4" x="268.4" y="44.4" textLength="85.4" 
clip-path="url(#breeze-setup-line-1)">OPTIONS</text><text 
class="breeze-setup-r1" x="353.8" y="44.4" textLength="24.4" 
clip-path="url(#breeze-setup-line-1)">]& [...]
 </text><text class="breeze-setup-r2" x="1464" y="68.8" textLength="12.2" 
clip-path="url(#breeze-setup-line-2)">
 </text><text class="breeze-setup-r2" x="12.2" y="93.2" textLength="597.8" 
clip-path="url(#breeze-setup-line-3)">Tools&#160;that&#160;developers&#160;can&#160;use&#160;to&#160;configure&#160;Breeze</text><text
 class="breeze-setup-r2" x="1464" y="93.2" textLength="12.2" 
clip-path="url(#breeze-setup-line-3)">
 </text><text class="breeze-setup-r2" x="1464" y="117.6" textLength="12.2" 
clip-path="url(#breeze-setup-line-4)">
-</text><text class="breeze-setup-r4" x="0" y="142" textLength="24.4" 
clip-path="url(#breeze-setup-line-5)">╭─</text><text class="breeze-setup-r4" 
x="24.4" y="142" textLength="195.2" 
clip-path="url(#breeze-setup-line-5)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-r4" x="219.6" y="142" textLength="1220" 
clip-path="url(#breeze-setup-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="breeze-set [...]
-</text><text class="breeze-setup-r4" x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-setup-line-6)">│</text><text class="breeze-setup-r5" 
x="24.4" y="166.4" textLength="12.2" 
clip-path="url(#breeze-setup-line-6)">-</text><text class="breeze-setup-r5" 
x="36.6" y="166.4" textLength="61" 
clip-path="url(#breeze-setup-line-6)">-help</text><text class="breeze-setup-r6" 
x="122" y="166.4" textLength="24.4" 
clip-path="url(#breeze-setup-line-6)">-h</text><text class="breeze-setup-r2" 
x="1 [...]
-</text><text class="breeze-setup-r4" x="0" y="190.8" textLength="1464" 
clip-path="url(#breeze-setup-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-r2" x="1464" y="190.8" textLength="12.2" 
clip-path="url(#breeze-setup-line-7)">
-</text><text class="breeze-setup-r4" x="0" y="215.2" textLength="24.4" 
clip-path="url(#breeze-setup-line-8)">╭─</text><text class="breeze-setup-r4" 
x="24.4" y="215.2" textLength="122" 
clip-path="url(#breeze-setup-line-8)">&#160;Commands&#160;</text><text 
class="breeze-setup-r4" x="146.4" y="215.2" textLength="1293.2" 
clip-path="url(#breeze-setup-line-8)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="breeze-se [...]
-</text><text class="breeze-setup-r4" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-setup-line-9)">│</text><text class="breeze-setup-r5" 
x="24.4" y="239.6" textLength="402.6" 
clip-path="url(#breeze-setup-line-9)">autocomplete&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="239.6" textLength="988.2" 
clip-path="url(#breeze-setup-line-9)">Enables&#160;auto [...]
-</text><text class="breeze-setup-r4" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-setup-line-10)">│</text><text class="breeze-setup-r5" 
x="24.4" y="264" textLength="402.6" 
clip-path="url(#breeze-setup-line-10)">check-all-params-in-groups&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="264" textLength="988.2" 
clip-path="url(#breeze-setup-line-10)">Check&#160;that&#160;all&#160;parameters&#160;are&#160;put&#160;in&#160;groups.&#160;&#160
 [...]
-</text><text class="breeze-setup-r4" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-setup-line-11)">│</text><text class="breeze-setup-r5" 
x="24.4" y="288.4" textLength="402.6" 
clip-path="url(#breeze-setup-line-11)">config&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="288.4" textLength="988.2" 
clip-path="url(#breeze- [...]
-</text><text class="breeze-setup-r4" x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-setup-line-12)">│</text><text class="breeze-setup-r5" 
x="24.4" y="312.8" textLength="402.6" 
clip-path="url(#breeze-setup-line-12)">regenerate-command-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="312.8" textLength="988.2" 
clip-path="url(#breeze-setup-line-12)">Regenerate&#160;breeze&#160;command&#160;images.&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-r4" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-setup-line-13)">│</text><text class="breeze-setup-r5" 
x="24.4" y="337.2" textLength="402.6" 
clip-path="url(#breeze-setup-line-13)">self-upgrade&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="337.2" textLength="988.2" 
clip-path="url(#breeze-setup-line-13)">Self&#160;upgr [...]
-</text><text class="breeze-setup-r4" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-setup-line-14)">│</text><text class="breeze-setup-r5" 
x="24.4" y="361.6" textLength="402.6" 
clip-path="url(#breeze-setup-line-14)">version&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="361.6" textLength="988.2" 
clip-path="url(#breeze-setup [...]
-</text><text class="breeze-setup-r4" x="0" y="386" textLength="1464" 
clip-path="url(#breeze-setup-line-15)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-r2" x="1464" y="386" textLength="12.2" 
clip-path="url(#breeze-setup-line-15)">
+</text><text class="breeze-setup-r5" x="0" y="142" textLength="24.4" 
clip-path="url(#breeze-setup-line-5)">╭─</text><text class="breeze-setup-r5" 
x="24.4" y="142" textLength="195.2" 
clip-path="url(#breeze-setup-line-5)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-r5" x="219.6" y="142" textLength="1220" 
clip-path="url(#breeze-setup-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="breeze-set [...]
+</text><text class="breeze-setup-r5" x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-setup-line-6)">│</text><text class="breeze-setup-r4" 
x="24.4" y="166.4" textLength="12.2" 
clip-path="url(#breeze-setup-line-6)">-</text><text class="breeze-setup-r4" 
x="36.6" y="166.4" textLength="61" 
clip-path="url(#breeze-setup-line-6)">-help</text><text class="breeze-setup-r6" 
x="122" y="166.4" textLength="24.4" 
clip-path="url(#breeze-setup-line-6)">-h</text><text class="breeze-setup-r2" 
x="1 [...]
+</text><text class="breeze-setup-r5" x="0" y="190.8" textLength="1464" 
clip-path="url(#breeze-setup-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-r2" x="1464" y="190.8" textLength="12.2" 
clip-path="url(#breeze-setup-line-7)">
+</text><text class="breeze-setup-r5" x="0" y="215.2" textLength="24.4" 
clip-path="url(#breeze-setup-line-8)">╭─</text><text class="breeze-setup-r5" 
x="24.4" y="215.2" textLength="122" 
clip-path="url(#breeze-setup-line-8)">&#160;Commands&#160;</text><text 
class="breeze-setup-r5" x="146.4" y="215.2" textLength="1293.2" 
clip-path="url(#breeze-setup-line-8)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="breeze-se [...]
+</text><text class="breeze-setup-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-setup-line-9)">│</text><text class="breeze-setup-r4" 
x="24.4" y="239.6" textLength="402.6" 
clip-path="url(#breeze-setup-line-9)">autocomplete&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="239.6" textLength="988.2" 
clip-path="url(#breeze-setup-line-9)">Enables&#160;auto [...]
+</text><text class="breeze-setup-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-setup-line-10)">│</text><text class="breeze-setup-r4" 
x="24.4" y="264" textLength="402.6" 
clip-path="url(#breeze-setup-line-10)">check-all-params-in-groups&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="264" textLength="988.2" 
clip-path="url(#breeze-setup-line-10)">Check&#160;that&#160;all&#160;parameters&#160;are&#160;put&#160;in&#160;groups.&#160;&#160
 [...]
+</text><text class="breeze-setup-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-setup-line-11)">│</text><text class="breeze-setup-r4" 
x="24.4" y="288.4" textLength="402.6" 
clip-path="url(#breeze-setup-line-11)">config&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="288.4" textLength="683.2" 
clip-path="url(#breeze- [...]
+</text><text class="breeze-setup-r5" x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-setup-line-12)">│</text><text class="breeze-setup-r4" 
x="24.4" y="312.8" textLength="402.6" 
clip-path="url(#breeze-setup-line-12)">regenerate-command-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="312.8" textLength="988.2" 
clip-path="url(#breeze-setup-line-12)">Regenerate&#160;breeze&#160;command&#160;images.&#160;&#160;&#160;&#160;&#160;&
 [...]
+</text><text class="breeze-setup-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-setup-line-13)">│</text><text class="breeze-setup-r4" 
x="24.4" y="337.2" textLength="402.6" 
clip-path="url(#breeze-setup-line-13)">self-upgrade&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="337.2" textLength="988.2" 
clip-path="url(#breeze-setup-line-13)">Self&#160;upgr [...]
+</text><text class="breeze-setup-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-setup-line-14)">│</text><text class="breeze-setup-r4" 
x="24.4" y="361.6" textLength="402.6" 
clip-path="url(#breeze-setup-line-14)">version&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-setup-r2" x="451.4" y="361.6" textLength="988.2" 
clip-path="url(#breeze-setup [...]
+</text><text class="breeze-setup-r5" x="0" y="386" textLength="1464" 
clip-path="url(#breeze-setup-line-15)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-r2" x="1464" y="386" textLength="12.2" 
clip-path="url(#breeze-setup-line-15)">
 </text>
     </g>
     </g>
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 1ed51d446e..096285f97f 100644
--- a/images/breeze/output_setup_check-all-params-in-groups.svg
+++ b/images/breeze/output_setup_check-all-params-in-groups.svg
@@ -35,8 +35,8 @@
     .breeze-setup-check-all-params-in-groups-r1 { fill: #c5c8c6;font-weight: 
bold }
 .breeze-setup-check-all-params-in-groups-r2 { fill: #c5c8c6 }
 .breeze-setup-check-all-params-in-groups-r3 { fill: #d0b344;font-weight: bold }
-.breeze-setup-check-all-params-in-groups-r4 { fill: #868887 }
-.breeze-setup-check-all-params-in-groups-r5 { fill: #68a0b3;font-weight: bold }
+.breeze-setup-check-all-params-in-groups-r4 { fill: #68a0b3;font-weight: bold }
+.breeze-setup-check-all-params-in-groups-r5 { fill: #868887 }
 .breeze-setup-check-all-params-in-groups-r6 { fill: #8d7b39 }
 .breeze-setup-check-all-params-in-groups-r7 { fill: #98a84b;font-weight: bold }
     </style>
@@ -139,33 +139,33 @@
     
     <g class="breeze-setup-check-all-params-in-groups-matrix">
     <text class="breeze-setup-check-all-params-in-groups-r2" x="1464" y="20" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-0)">
-</text><text class="breeze-setup-check-all-params-in-groups-r3" x="12.2" 
y="44.4" textLength="85.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-1)">Usage:&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r1" x="97.6" y="44.4" 
textLength="597.8" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-1)">breeze&#160;setup&#160;check-all-params-in-groups&#160;[OPTIONS]</text><text
 class="breeze-setup-check-all-params-in-groups-r2" x="1464" y="44.4" tex [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r3" x="12.2" 
y="44.4" textLength="85.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-1)">Usage:&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r1" x="97.6" y="44.4" 
textLength="500.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-1)">breeze&#160;setup&#160;check-all-params-in-groups&#160;[</text><text
 class="breeze-setup-check-all-params-in-groups-r4" x="597.8" y="44.4" 
textLength [...]
 </text><text class="breeze-setup-check-all-params-in-groups-r2" x="1464" 
y="68.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-2)">
 </text><text class="breeze-setup-check-all-params-in-groups-r2" x="12.2" 
y="93.2" textLength="536.8" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-3)">Check&#160;that&#160;all&#160;parameters&#160;are&#160;put&#160;in&#160;groups.</text><text
 class="breeze-setup-check-all-params-in-groups-r2" x="1464" y="93.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-3)">
 </text><text class="breeze-setup-check-all-params-in-groups-r2" x="1464" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-4)">
-</text><text class="breeze-setup-check-all-params-in-groups-r4" x="0" y="142" 
textLength="24.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-5)">╭─</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="142" 
textLength="414.8" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-5)">&#160;Check&#160;all&#160;params&#160;in&#160;groups&#160;flags&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r4" x="439.2" y="142" 
textLength="1 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" x="0" 
y="166.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-6)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r5" x="24.4" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-6)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r5" x="36.6" y="166.4" 
textLength="97.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line 
[...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" x="0" 
y="190.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-7)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="190.8" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-7)">(main&#160;|&#160;build-docs&#160;|&#160;ci:fix-ownership&#160;|&#160;ci:free-space&#160;|&#160;ci:get-workflow-info&#160;|&#160;ci:resource-check&#160;|&#160;&#
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" x="0" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-8)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="215.2" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-8)">ci:selective-check&#160;|&#160;ci&#160;|&#160;ci-image:build&#160;|&#160;ci-image:pull&#160;|&#160;ci-image:verify&#160;|&#160;ci-image&#160;|&#160;cleanup&#160;
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" x="0" 
y="239.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-9)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="239.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-9)">compile-www-assets&#160;|&#160;exec&#160;|&#160;k8s:build-k8s-image&#160;|&#160;k8s:configure-cluster&#160;|&#160;k8s:create-cluster&#160;|&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" x="0" y="264" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-10)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="264" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-10)">k8s:delete-cluster&#160;|&#160;k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;k8s:setup-env&#160;|</tex
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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:shell&#160;|&#160;k8s:status&#160;|&#160;k8s:tests&#160;|&#160;k8s:upload-k8s-image&#160;|&#160;k8s&#160;|&#160;prod-image:build&#160;|&#160;prod-image:pul
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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)">prod-image:verify&#160;|&#160;prod-image&#160;|&#160;release-management:create-minor-branch&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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)">release-management:generate-constraints&#160;|&#160;release-management:generate-issue-content-providers&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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: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-r4" 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:prepare-provider-documentation&#160;|&#160;release-management:prepare-provider-packages&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class=" [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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: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-r4" 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:start-release&#160;|&#160;release-management:verify-provider-packages&#160;|&#160;release-management&#160;|&#160;&#160;</text><text
 class="b [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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)">setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;setup:config&#160;|&#160;setup:regenerate-command-images&#160;</text><text
 class="b [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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)">|&#160;setup:self-upgrade&#160;|&#160;setup:version&#160;|&#160;setup&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;static-checks&#160;|&#160;stop&#1
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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)">testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;testing:integration-tests&#160;|&#160;testing:tests&#160;|&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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)">testing)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" x="0" 
y="556.8" textLength="1464" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-check-all-params-in-groups-r2" x="1464" 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-r4" x="0" 
y="581.2" textLength="24.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">╭─</text><text
 class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="581.2" 
textLength="195.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r4" x="219.6" y="581.2" 
textLength="1220" clip-path="url(#breeze-se [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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-r5" x="24.4" 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-r5" x="36.6" y="605.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-r4" 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-r5" x="24.4" 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-r5" x="36.6" y="630" 
textLength="48.8" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-25) [...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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-r5" x="24.4" 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="36.6" y="654.4" 
textLength="61" clip-path="url(#breeze-setup-check-all-params-in-groups-line 
[...]
-</text><text class="breeze-setup-check-all-params-in-groups-r4" 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-r2" 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="142" 
textLength="24.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-5)">╭─</text><text 
class="breeze-setup-check-all-params-in-groups-r5" x="24.4" y="142" 
textLength="414.8" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-5)">&#160;Check&#160;all&#160;params&#160;in&#160;groups&#160;flags&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r5" x="439.2" y="142" 
textLength="1 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="166.4" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-6)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="24.4" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-6)">-</text><text 
class="breeze-setup-check-all-params-in-groups-r4" x="36.6" y="166.4" 
textLength="97.6" 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="190.8" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-7)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="190.8" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-7)">(main&#160;|&#160;build-docs&#160;|&#160;ci:fix-ownership&#160;|&#160;ci:free-space&#160;|&#160;ci:get-workflow-info&#160;|&#160;ci:resource-check&#160;|&#160;&#
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-8)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="215.2" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-8)">ci:selective-check&#160;|&#160;ci&#160;|&#160;ci-image:build&#160;|&#160;ci-image:pull&#160;|&#160;ci-image:verify&#160;|&#160;ci-image&#160;|&#160;cleanup&#160;
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" 
y="239.6" textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-9)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="239.6" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-9)">compile-www-assets&#160;|&#160;exec&#160;|&#160;k8s:build-k8s-image&#160;|&#160;k8s:configure-cluster&#160;|&#160;k8s:create-cluster&#160;|&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="264" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-10)">│</text><text 
class="breeze-setup-check-all-params-in-groups-r6" x="183" y="264" 
textLength="1256.6" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-10)">k8s:delete-cluster&#160;|&#160;k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;k8s:setup-env&#160;|</tex
 [...]
+</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:shell&#160;|&#160;k8s:status&#160;|&#160;k8s:tests&#160;|&#160;k8s:upload-k8s-image&#160;|&#160;k8s&#160;|&#160;prod-image:build&#160;|&#160;prod-image:pul
 [...]
+</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)">prod-image:verify&#160;|&#160;prod-image&#160;|&#160;release-management:create-minor-branch&#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="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)">release-management:generate-constraints&#160;|&#160;release-management:generate-issue-content-providers&#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: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="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:prepare-provider-documentation&#160;|&#160;release-management:prepare-provider-packages&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class=" [...]
+</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: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="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:start-release&#160;|&#160;release-management:verify-provider-packages&#160;|&#160;release-management&#160;|&#160;&#160;</text><text
 class="b [...]
+</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)">setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;setup:config&#160;|&#160;setup:regenerate-command-images&#160;</text><text
 class="b [...]
+</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)">|&#160;setup:self-upgrade&#160;|&#160;setup:version&#160;|&#160;setup&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;static-checks&#160;|&#160;stop&#1
 [...]
+</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)">testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;testing:integration-tests&#160;|&#160;testing:tests&#160;|&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</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)">testing)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="556.8" textLength="1464" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-check-all-params-in-groups-r2" x="1464" 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-r5" x="0" 
y="581.2" textLength="24.4" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">╭─</text><text
 class="breeze-setup-check-all-params-in-groups-r5" x="24.4" y="581.2" 
textLength="195.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-check-all-params-in-groups-r5" x="219.6" y="581.2" 
textLength="1220" clip-path="url(#breeze-se [...]
+</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-r4" x="24.4" 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-r4" x="36.6" y="605.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="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-r4" x="24.4" 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-r4" x="36.6" y="630" 
textLength="48.8" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-25) [...]
+</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-r4" x="24.4" 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-r4" x="36.6" y="654.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="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-r2" x="1464" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-check-all-params-in-groups-line-27)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output_setup_regenerate-command-images.svg 
b/images/breeze/output_setup_regenerate-command-images.svg
index 5bb38f1c12..b8bcafe739 100644
--- a/images/breeze/output_setup_regenerate-command-images.svg
+++ b/images/breeze/output_setup_regenerate-command-images.svg
@@ -35,8 +35,8 @@
     .breeze-setup-regenerate-command-images-r1 { fill: #c5c8c6;font-weight: 
bold }
 .breeze-setup-regenerate-command-images-r2 { fill: #c5c8c6 }
 .breeze-setup-regenerate-command-images-r3 { fill: #d0b344;font-weight: bold }
-.breeze-setup-regenerate-command-images-r4 { fill: #868887 }
-.breeze-setup-regenerate-command-images-r5 { fill: #68a0b3;font-weight: bold }
+.breeze-setup-regenerate-command-images-r4 { fill: #68a0b3;font-weight: bold }
+.breeze-setup-regenerate-command-images-r5 { fill: #868887 }
 .breeze-setup-regenerate-command-images-r6 { fill: #8d7b39 }
 .breeze-setup-regenerate-command-images-r7 { fill: #98a84b;font-weight: bold }
     </style>
@@ -148,36 +148,36 @@
     
     <g class="breeze-setup-regenerate-command-images-matrix">
     <text class="breeze-setup-regenerate-command-images-r2" x="1464" y="20" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-0)">
-</text><text class="breeze-setup-regenerate-command-images-r3" x="12.2" 
y="44.4" textLength="85.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-1)">Usage:&#160;</text><text
 class="breeze-setup-regenerate-command-images-r1" x="97.6" y="44.4" 
textLength="585.6" 
clip-path="url(#breeze-setup-regenerate-command-images-line-1)">breeze&#160;setup&#160;regenerate-command-images&#160;[OPTIONS]</text><text
 class="breeze-setup-regenerate-command-images-r2" x="1464" y="44.4" textLengt 
[...]
+</text><text class="breeze-setup-regenerate-command-images-r3" x="12.2" 
y="44.4" textLength="85.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-1)">Usage:&#160;</text><text
 class="breeze-setup-regenerate-command-images-r1" x="97.6" y="44.4" 
textLength="488" 
clip-path="url(#breeze-setup-regenerate-command-images-line-1)">breeze&#160;setup&#160;regenerate-command-images&#160;[</text><text
 class="breeze-setup-regenerate-command-images-r4" x="585.6" y="44.4" 
textLength="85.4"  [...]
 </text><text class="breeze-setup-regenerate-command-images-r2" x="1464" 
y="68.8" textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-2)">
 </text><text class="breeze-setup-regenerate-command-images-r2" x="12.2" 
y="93.2" textLength="402.6" 
clip-path="url(#breeze-setup-regenerate-command-images-line-3)">Regenerate&#160;breeze&#160;command&#160;images.</text><text
 class="breeze-setup-regenerate-command-images-r2" x="1464" y="93.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-3)">
 </text><text class="breeze-setup-regenerate-command-images-r2" x="1464" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-4)">
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="142" 
textLength="24.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-5)">╭─</text><text 
class="breeze-setup-regenerate-command-images-r4" x="24.4" y="142" 
textLength="329.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-5)">&#160;Image&#160;regeneration&#160;option&#160;</text><text
 class="breeze-setup-regenerate-command-images-r4" x="353.8" y="142" 
textLength="1085.8" clip-path="url(#bree [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-6)">│</text><text 
class="breeze-setup-regenerate-command-images-r5" x="24.4" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-6)">-</text><text 
class="breeze-setup-regenerate-command-images-r5" x="36.6" y="166.4" 
textLength="73.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-6)">- [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="190.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-7)">│</text><text 
class="breeze-setup-regenerate-command-images-r5" x="24.4" y="190.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-7)">-</text><text 
class="breeze-setup-regenerate-command-images-r5" x="36.6" y="190.8" 
textLength="97.6" 
clip-path="url(#breeze-setup-regenerate-command-images-line-7)">- [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="215.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-8)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="215.2" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-8)">(main&#160;|&#160;build-docs&#160;|&#160;ci:fix-ownership&#160;|&#160;ci:free-space&#160;|&#160;ci:get-workflow-info&#160;|&#160;ci:resource-check&#160;|&#160;&#160;
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="239.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-9)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="239.6" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-9)">ci:selective-check&#160;|&#160;ci&#160;|&#160;ci-image:build&#160;|&#160;ci-image:pull&#160;|&#160;ci-image:verify&#160;|&#160;ci-image&#160;|&#160;cleanup&#160;|&#1
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="264" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-10)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="264" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-10)">compile-www-assets&#160;|&#160;exec&#160;|&#160;k8s:build-k8s-image&#160;|&#160;k8s:configure-cluster&#160;|&#160;k8s:create-cluster&#160;|&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="288.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-11)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="288.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-11)">k8s:delete-cluster&#160;|&#160;k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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:setup-env&#160;|&#160;k8s:shell&#160;|&#160;k8s:status&#160;|&#160;k8s:tests&#160;|&#160;k8s:upload-k8s-image&#160;|&#160;k8s&#160;|&#160;prod-image:build&#160
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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)">prod-image:pull&#160;|&#160;prod-image:verify&#160;|&#160;prod-image&#160;|&#160;release-management:create-minor-branch&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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)">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-r4" 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:install-provider-packages&#160;|&#160;release-management:prepare-airflow-package&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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: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-r4" 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:release-prod-images&#160;|&#160;release-management:start-rc-process&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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:start-release&#160;|&#160;release-management:verify-provider-packages&#160;|&#160;release-management&#160;</text><text
 class="breeze-setup-regen [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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)">|&#160;setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;setup:config&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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)">setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;|&#160;setup:version&#160;|&#160;setup&#160;|&#160;shell&#160;|&#160;start-airflow</text><text
 clas [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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)">|&#160;static-checks&#160;|&#160;stop&#160;|&#160;testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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)">testing:integration-tests&#160;|&#160;testing:tests&#160;|&#160;testing)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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-r5" x="24.4" y="581.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23)">-</text><text 
class="breeze-setup-regenerate-command-images-r5" x="36.6" y="581.2" 
textLength="73.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23) [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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-r2" x="219.6" y="605.6" 
textLength="170.8" 
clip-path="url(#breeze-setup-regenerate-command-images-line-24)">together&#160;with&#160;</text><text
 class="breeze-setup-regenerate-command-images-r5" x="390.4" y="605.6" 
textLength="12.2" clip-path="url(#breeze-setup-regenera [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="630" 
textLength="1464" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-regenerate-command-images-r2" x="1464" y="630" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="654.4" 
textLength="24.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">╭─</text><text 
class="breeze-setup-regenerate-command-images-r4" x="24.4" y="654.4" 
textLength="195.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-regenerate-command-images-r4" x="219.6" y="654.4" 
textLength="1220" clip-path="url(#breeze-setup-r [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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-r5" x="24.4" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27)">-</text><text 
class="breeze-setup-regenerate-command-images-r5" x="36.6" y="678.8" 
textLength="97.6" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27) [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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-r5" 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-r5" x="36.6" y="703.2" 
textLength="48.8" 
clip-path="url(#breeze-setup-regenerate-command-images-line-28) [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" 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-r5" x="24.4" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-29)">-</text><text 
class="breeze-setup-regenerate-command-images-r5" x="36.6" y="727.6" 
textLength="61" 
clip-path="url(#breeze-setup-regenerate-command-images-line-29)"> [...]
-</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="752" 
textLength="1464" 
clip-path="url(#breeze-setup-regenerate-command-images-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-regenerate-command-images-r2" x="1464" y="752" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-30)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="142" 
textLength="24.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-5)">╭─</text><text 
class="breeze-setup-regenerate-command-images-r5" x="24.4" y="142" 
textLength="329.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-5)">&#160;Image&#160;regeneration&#160;option&#160;</text><text
 class="breeze-setup-regenerate-command-images-r5" x="353.8" y="142" 
textLength="1085.8" clip-path="url(#bree [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-6)">│</text><text 
class="breeze-setup-regenerate-command-images-r4" x="24.4" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-6)">-</text><text 
class="breeze-setup-regenerate-command-images-r4" x="36.6" y="166.4" 
textLength="73.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-6)">- [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="190.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-7)">│</text><text 
class="breeze-setup-regenerate-command-images-r4" x="24.4" y="190.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-7)">-</text><text 
class="breeze-setup-regenerate-command-images-r4" x="36.6" y="190.8" 
textLength="97.6" 
clip-path="url(#breeze-setup-regenerate-command-images-line-7)">- [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="215.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-8)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="215.2" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-8)">(main&#160;|&#160;build-docs&#160;|&#160;ci:fix-ownership&#160;|&#160;ci:free-space&#160;|&#160;ci:get-workflow-info&#160;|&#160;ci:resource-check&#160;|&#160;&#160;
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="239.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-9)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="239.6" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-9)">ci:selective-check&#160;|&#160;ci&#160;|&#160;ci-image:build&#160;|&#160;ci-image:pull&#160;|&#160;ci-image:verify&#160;|&#160;ci-image&#160;|&#160;cleanup&#160;|&#1
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="264" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-10)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="264" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-10)">compile-www-assets&#160;|&#160;exec&#160;|&#160;k8s:build-k8s-image&#160;|&#160;k8s:configure-cluster&#160;|&#160;k8s:create-cluster&#160;|&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="288.4" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-11)">│</text><text 
class="breeze-setup-regenerate-command-images-r6" x="219.6" y="288.4" 
textLength="1220" 
clip-path="url(#breeze-setup-regenerate-command-images-line-11)">k8s:delete-cluster&#160;|&#160;k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;&#160;&#160;&#160;&#160;&
 [...]
+</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:setup-env&#160;|&#160;k8s:shell&#160;|&#160;k8s:status&#160;|&#160;k8s:tests&#160;|&#160;k8s:upload-k8s-image&#160;|&#160;k8s&#160;|&#160;prod-image:build&#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)">prod-image:pull&#160;|&#160;prod-image:verify&#160;|&#160;prod-image&#160;|&#160;release-management:create-minor-branch&#160;|&#160;&#160;&#160;&#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)">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="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:install-provider-packages&#160;|&#160;release-management:prepare-airflow-package&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
 [...]
+</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: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="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:release-prod-images&#160;|&#160;release-management:start-rc-process&#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="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:start-release&#160;|&#160;release-management:verify-provider-packages&#160;|&#160;release-management&#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)">|&#160;setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;setup:config&#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)">setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;|&#160;setup:version&#160;|&#160;setup&#160;|&#160;shell&#160;|&#160;start-airflow</text><text
 clas [...]
+</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)">|&#160;static-checks&#160;|&#160;stop&#160;|&#160;testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#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)">testing:integration-tests&#160;|&#160;testing:tests&#160;|&#160;testing)&#160;&#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="581.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23)">│</text><text 
class="breeze-setup-regenerate-command-images-r4" x="24.4" y="581.2" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23)">-</text><text 
class="breeze-setup-regenerate-command-images-r4" x="36.6" y="581.2" 
textLength="73.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-23) [...]
+</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-r2" x="219.6" y="605.6" 
textLength="170.8" 
clip-path="url(#breeze-setup-regenerate-command-images-line-24)">together&#160;with&#160;</text><text
 class="breeze-setup-regenerate-command-images-r4" x="390.4" y="605.6" 
textLength="12.2" clip-path="url(#breeze-setup-regenera [...]
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="630" 
textLength="1464" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-setup-regenerate-command-images-r2" x="1464" y="630" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-25)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="654.4" 
textLength="24.4" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">╭─</text><text 
class="breeze-setup-regenerate-command-images-r5" x="24.4" y="654.4" 
textLength="195.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-26)">&#160;Common&#160;options&#160;</text><text
 class="breeze-setup-regenerate-command-images-r5" x="219.6" y="654.4" 
textLength="1220" clip-path="url(#breeze-setup-r [...]
+</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-r4" x="24.4" y="678.8" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27)">-</text><text 
class="breeze-setup-regenerate-command-images-r4" x="36.6" y="678.8" 
textLength="97.6" 
clip-path="url(#breeze-setup-regenerate-command-images-line-27) [...]
+</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="48.8" 
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-r4" x="24.4" y="727.6" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-29)">-</text><text 
class="breeze-setup-regenerate-command-images-r4" x="36.6" y="727.6" 
textLength="61" 
clip-path="url(#breeze-setup-regenerate-command-images-line-29)"> [...]
+</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-r2" x="1464" y="752" 
textLength="12.2" 
clip-path="url(#breeze-setup-regenerate-command-images-line-30)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output_static-checks.svg 
b/images/breeze/output_static-checks.svg
index 7b2f1210c0..83ad572819 100644
--- a/images/breeze/output_static-checks.svg
+++ b/images/breeze/output_static-checks.svg
@@ -229,15 +229,15 @@
 </text><text class="breeze-static-checks-r2" x="1464" y="117.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-4)">
 </text><text class="breeze-static-checks-r5" x="0" y="142" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-5)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="142" textLength="219.6" 
clip-path="url(#breeze-static-checks-line-5)">&#160;Pre-commit&#160;flags&#160;</text><text
 class="breeze-static-checks-r5" x="244" y="142" textLength="1195.6" 
clip-path="url(#breeze-static-checks-line-5)">────────────────────────────────────────────────────────────────────────────────
 [...]
 </text><text class="breeze-static-checks-r5" x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-6)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="166.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-6)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="166.4" textLength="61" 
clip-path="url(#breeze-static-checks-line-6)">-type</text><text 
class="breeze-static-checks-r6" x="317.2" y="166.4" textLength="24.4" 
clip-path="url(#breeze- [...]
-</text><text class="breeze-static-checks-r5" x="0" y="190.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-7)">│</text><text 
class="breeze-static-checks-r7" x="366" y="190.8" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-7)">(all&#160;|&#160;black&#160;|&#160;blacken-docs&#160;|&#160;check-airflow-config-yaml-consistent&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="215.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-8)">│</text><text 
class="breeze-static-checks-r7" x="366" y="215.2" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-8)">check-airflow-provider-compatibility&#160;|&#160;check-apache-license-rat&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class= [...]
-</text><text class="breeze-static-checks-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-9)">│</text><text 
class="breeze-static-checks-r7" x="366" y="239.6" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-9)">check-base-operator-partial-arguments&#160;|&#160;check-base-operator-usage&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-st [...]
-</text><text class="breeze-static-checks-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-10)">│</text><text 
class="breeze-static-checks-r7" x="366" y="264" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-10)">check-boring-cyborg-configuration&#160;|&#160;check-breeze-top-dependencies-limited&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="264" textLen [...]
-</text><text class="breeze-static-checks-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-11)">│</text><text 
class="breeze-static-checks-r7" x="366" y="288.4" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-11)">check-builtin-literals&#160;|&#160;check-changelog-has-no-duplicates&#160;|&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-12)">│</text><text 
class="breeze-static-checks-r7" x="366" y="312.8" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-12)">check-core-deprecation-classes&#160;|&#160;check-daysago-import-from-utils&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="br [...]
-</text><text class="breeze-static-checks-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-13)">│</text><text 
class="breeze-static-checks-r7" x="366" y="337.2" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-13)">check-decorated-operator-implements-custom-name&#160;|&#160;check-docstring-param-types&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="337.2" textLength="12.2" cli 
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-14)">│</text><text 
class="breeze-static-checks-r7" x="366" y="361.6" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-14)">check-example-dags-urls&#160;|&#160;check-executables-have-shebangs&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-15)">│</text><text 
class="breeze-static-checks-r7" x="366" y="386" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-15)">check-extra-packages-references&#160;|&#160;check-extras-order&#160;|&#160;check-for-inclusive-language&#160;|&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="386" textLength="12.2" 
clip-path="url(#breeze-static [...]
+</text><text class="breeze-static-checks-r5" x="0" y="190.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-7)">│</text><text 
class="breeze-static-checks-r7" x="366" y="190.8" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-7)">(all&#160;|&#160;black&#160;|&#160;blacken-docs&#160;|&#160;check-aiobotocore-optional&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="215.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-8)">│</text><text 
class="breeze-static-checks-r7" x="366" y="215.2" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-8)">check-airflow-config-yaml-consistent&#160;|&#160;check-airflow-provider-compatibility&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="215.2" textLength="1 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-9)">│</text><text 
class="breeze-static-checks-r7" x="366" y="239.6" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-9)">check-apache-license-rat&#160;|&#160;check-base-operator-partial-arguments&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="bree [...]
+</text><text class="breeze-static-checks-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-10)">│</text><text 
class="breeze-static-checks-r7" x="366" y="264" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-10)">check-base-operator-usage&#160;|&#160;check-boring-cyborg-configuration&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><tex
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-11)">│</text><text 
class="breeze-static-checks-r7" x="366" y="288.4" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-11)">check-breeze-top-dependencies-limited&#160;|&#160;check-builtin-literals&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-12)">│</text><text 
class="breeze-static-checks-r7" x="366" y="312.8" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-12)">check-changelog-has-no-duplicates&#160;|&#160;check-core-deprecation-classes&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-stati [...]
+</text><text class="breeze-static-checks-r5" x="0" y="337.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-13)">│</text><text 
class="breeze-static-checks-r7" x="366" y="337.2" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-13)">check-daysago-import-from-utils&#160;|&#160;check-decorated-operator-implements-custom-name&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="337.2" textLength="12.2" 
clip-path="url(#breeze- [...]
+</text><text class="breeze-static-checks-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-14)">│</text><text 
class="breeze-static-checks-r7" x="366" y="361.6" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-14)">check-docstring-param-types&#160;|&#160;check-example-dags-urls&#160;|&#160;check-executables-have-shebangs&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="361.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-l [...]
+</text><text class="breeze-static-checks-r5" x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-15)">│</text><text 
class="breeze-static-checks-r7" x="366" y="386" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-15)">|&#160;check-extra-packages-references&#160;|&#160;check-extras-order&#160;|&#160;check-for-inclusive-language&#160;|&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="386" textLength="12.2" 
clip-path="url(#breeze-static-chec [...]
 </text><text class="breeze-static-checks-r5" x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-16)">│</text><text 
class="breeze-static-checks-r7" x="366" y="410.4" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-16)">check-hooks-apply&#160;|&#160;check-incorrect-use-of-LoggingMixin&#160;|&#160;check-init-decorator-arguments</text><text
 class="breeze-static-checks-r5" x="1451.8" y="410.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-1 [...]
 </text><text class="breeze-static-checks-r5" x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-17)">│</text><text 
class="breeze-static-checks-r7" x="366" y="434.8" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-17)">|&#160;check-lazy-logging&#160;|&#160;check-links-to-example-dags-do-not-use-hardcoded-versions&#160;|&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="434.8" textLength="12.2" 
clip-path="ur [...]
 </text><text class="breeze-static-checks-r5" x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-18)">│</text><text 
class="breeze-static-checks-r7" x="366" y="459.2" textLength="1073.6" 
clip-path="url(#breeze-static-checks-line-18)">check-merge-conflict&#160;|&#160;check-newsfragments-are-valid&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
diff --git a/scripts/ci/pre_commit/pre_commit_check_aiobotocore_optional.py 
b/scripts/ci/pre_commit/pre_commit_check_aiobotocore_optional.py
new file mode 100755
index 0000000000..5c222ebada
--- /dev/null
+++ b/scripts/ci/pre_commit/pre_commit_check_aiobotocore_optional.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+#
+# 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.
+from __future__ import annotations
+
+import sys
+from pathlib import Path
+
+import yaml
+from rich.console import Console
+
+AIRFLOW_SOURCES = Path(__file__).parents[3]
+
+console = Console(color_system="standard", width=200)
+
+if __name__ == "__main__":
+    errors = []
+    for file in sys.argv[1:]:
+        console.print(f"[blue]Checking[/blue]: {file}")
+        provider_yaml_content = yaml.safe_load(Path(file).read_text())
+        dependencies = provider_yaml_content.get("dependencies")
+        if dependencies and any(dependency.startswith("aiobotocore") for 
dependency in dependencies):
+            errors.append(
+                f"\n[red]Error: the aibotocore cannot be a required 
dependency, "
+                f"because it restricts botocore too much[/]\n\n"
+                f"The [magenta]{file}[/] file has aiobotocore dependency set 
at top level.\n\n"
+                f"[yellow]Please remove it and make sure it is added only as "
+                f"an optional dependency in additional-extras[/n]\n"
+            )
+    if errors:
+        for error in errors:
+            console.print(error)
+        sys.exit(1)


Reply via email to