This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v2-10-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v2-10-test by this push:
new f4da0993ac9 Check python version that was used to install pre-commit
venvs (#43282) (#43310)
f4da0993ac9 is described below
commit f4da0993ac9b5214f9babfe5034f1db2cf9b15b7
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Oct 23 16:44:00 2024 +0200
Check python version that was used to install pre-commit venvs (#43282)
(#43310)
Since we moved to Python 3.9 and started usign 3.9+ only features
line functools.cache, having Python 3.8 as default python version
will result in virtualenvs created with outdated python.
This pre-commit checks what is the global version of python3 and it
will complain if it is lower than 3.9. This is done via explicit
call of "python3", because this is what pre-commit does. Also
global setting is needed because otherwise new virtualenvs
created by pre-commit might be created using lower python version.
(cherry picked from commit 076da924696dc7d8814a38f442e9ca3eb3e90634)
---
.pre-commit-config.yaml | 6 +
contributing-docs/08_static_code_checks.rst | 2 +
dev/breeze/doc/images/output-commands.svg | 42 +++----
dev/breeze/doc/images/output_static-checks.svg | 136 +++++++++++-----------
dev/breeze/doc/images/output_static-checks.txt | 2 +-
dev/breeze/src/airflow_breeze/pre_commit_ids.py | 1 +
scripts/ci/pre_commit/check_min_python_version.py | 68 +++++++++++
7 files changed, 169 insertions(+), 88 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 88f834050b6..1385d405a20 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -167,6 +167,12 @@ repos:
\.cfg$|\.conf$|\.ini$|\.ldif$|\.properties$|\.readthedocs$|\.service$|\.tf$|Dockerfile.*$
- repo: local
hooks:
+ - id: check-min-python-version
+ name: Check minimum Python version
+ entry: ./scripts/ci/pre_commit/check_min_python_version.py
+ language: python
+ additional_dependencies: ['rich>=12.4.4']
+ require_serial: true
- id: update-common-sql-api-stubs
name: Check and update common.sql API stubs
entry: ./scripts/ci/pre_commit/update_common_sql_api_stubs.py
diff --git a/contributing-docs/08_static_code_checks.rst
b/contributing-docs/08_static_code_checks.rst
index b122b348675..211ee7c9c34 100644
--- a/contributing-docs/08_static_code_checks.rst
+++ b/contributing-docs/08_static_code_checks.rst
@@ -196,6 +196,8 @@ require Breeze Docker image to be built locally.
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
| check-merge-conflict | Check that merge
conflicts are not being committed | |
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
+| check-min-python-version | Check minimum
Python version | |
++-----------------------------------------------------------+--------------------------------------------------------------+---------+
| check-newsfragments-are-valid | Check
newsfragments are valid | |
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
| check-no-airflow-deprecation-in-providers | Do not use
DeprecationWarning in providers | |
diff --git a/dev/breeze/doc/images/output-commands.svg
b/dev/breeze/doc/images/output-commands.svg
index 5888d1fc862..08d3dc2a13e 100644
--- a/dev/breeze/doc/images/output-commands.svg
+++ b/dev/breeze/doc/images/output-commands.svg
@@ -298,53 +298,53 @@
</text><text class="breeze-help-r2" x="12.2" y="44.4" textLength="73.2"
clip-path="url(#breeze-help-line-1)">Usage:</text><text class="breeze-help-r3"
x="97.6" y="44.4" textLength="73.2"
clip-path="url(#breeze-help-line-1)">breeze</text><text class="breeze-help-r1"
x="183" y="44.4" textLength="12.2"
clip-path="url(#breeze-help-line-1)">[</text><text class="breeze-help-r4"
x="195.2" y="44.4" textLength="85.4"
clip-path="url(#breeze-help-line-1)">OPTIONS</text><text class="breeze-help-r1"
[...]
</text><text class="breeze-help-r1" x="1464" y="68.8" textLength="12.2"
clip-path="url(#breeze-help-line-2)">
</text><text class="breeze-help-r5" x="0" y="93.2" textLength="24.4"
clip-path="url(#breeze-help-line-3)">╭─</text><text class="breeze-help-r5"
x="24.4" y="93.2" textLength="195.2"
clip-path="url(#breeze-help-line-3)"> Execution mode </text><text
class="breeze-help-r5" x="219.6" y="93.2" textLength="1220"
clip-path="url(#breeze-help-line-3)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze-help-r [...]
-</text><text class="breeze-help-r5" x="0" y="117.6" textLength="12.2"
clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r4"
x="24.4" y="117.6" textLength="97.6"
clip-path="url(#breeze-help-line-4)">--python</text><text
class="breeze-help-r6" x="366" y="117.6" textLength="24.4"
clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r1"
x="414.8" y="117.6" textLength="732"
clip-path="url(#breeze-help-line-4)">Python major/minor version use
[...]
+</text><text class="breeze-help-r5" x="0" y="117.6" textLength="12.2"
clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r4"
x="24.4" y="117.6" textLength="12.2"
clip-path="url(#breeze-help-line-4)">-</text><text class="breeze-help-r4"
x="36.6" y="117.6" textLength="85.4"
clip-path="url(#breeze-help-line-4)">-python</text><text class="breeze-help-r6"
x="366" y="117.6" textLength="24.4"
clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r1"
x="414.8" [...]
</text><text class="breeze-help-r5" x="0" y="142" textLength="12.2"
clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r7"
x="414.8" y="142" textLength="732"
clip-path="url(#breeze-help-line-5)">(>3.8< | 3.9 | 3.10 | 3.11 | 3.12)                          </text><text
class="breeze-help-r5" x="145 [...]
</text><text class="breeze-help-r5" x="0" y="166.4" textLength="12.2"
clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r5"
x="414.8" y="166.4" textLength="732"
clip-path="url(#breeze-help-line-6)">[default: 3.8]                                          
[...]
-</text><text class="breeze-help-r5" x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4"
x="24.4" y="190.8" textLength="158.6"
clip-path="url(#breeze-help-line-7)">--integration</text><text
class="breeze-help-r1" x="414.8" y="190.8" textLength="1024.8"
clip-path="url(#breeze-help-line-7)">Integration(s) to enable when running (can be more than one).       
[...]
+</text><text class="breeze-help-r5" x="0" y="190.8" textLength="12.2"
clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4"
x="24.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r4"
x="36.6" y="190.8" textLength="146.4"
clip-path="url(#breeze-help-line-7)">-integration</text><text
class="breeze-help-r1" x="414.8" y="190.8" textLength="1024.8"
clip-path="url(#breeze-help-line-7)">Integration(s) to enable [...]
</text><text class="breeze-help-r5" x="0" y="215.2" textLength="12.2"
clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r7"
x="414.8" y="215.2" textLength="1024.8"
clip-path="url(#breeze-help-line-8)">(all | all-testable | cassandra | celery | drill | kafka | kerberos | mongo | mssql </text><text
class="breeze-help-r5" x="1451.8" y="215.2" textLength="12.2"
clip-path="url(#breeze-help [...]
</text><text class="breeze-help-r5" x="0" y="239.6" textLength="12.2"
clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r7"
x="414.8" y="239.6" textLength="1024.8"
clip-path="url(#breeze-help-line-9)">| openlineage | otel | pinot | qdrant | redis | statsd | trino | ydb)               </text><text
class="breeze-help-r5" x [...]
-</text><text class="breeze-help-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r4"
x="24.4" y="264" textLength="317.2"
clip-path="url(#breeze-help-line-10)">--standalone-dag-processor</text><text
class="breeze-help-r1" x="414.8" y="264" textLength="573.4"
clip-path="url(#breeze-help-line-10)">Run standalone dag processor for start-airflow.</text><text
class="breeze-help-r5" x="1451.8" y="264" textLength= [...]
-</text><text class="breeze-help-r5" x="0" y="288.4" textLength="12.2"
clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r4"
x="24.4" y="288.4" textLength="244"
clip-path="url(#breeze-help-line-11)">--database-isolation</text><text
class="breeze-help-r1" x="414.8" y="288.4" textLength="475.8"
clip-path="url(#breeze-help-line-11)">Run airflow in database isolation mode.</text><text
class="breeze-help-r5" x="1451.8" y="288.4" textLength="12.2" c [...]
+</text><text class="breeze-help-r5" x="0" y="264" textLength="12.2"
clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r4"
x="24.4" y="264" textLength="12.2"
clip-path="url(#breeze-help-line-10)">-</text><text class="breeze-help-r4"
x="36.6" y="264" textLength="134.2"
clip-path="url(#breeze-help-line-10)">-standalone</text><text
class="breeze-help-r4" x="170.8" y="264" textLength="170.8"
clip-path="url(#breeze-help-line-10)">-dag-processor</text><text
class="breeze-he [...]
+</text><text class="breeze-help-r5" x="0" y="288.4" textLength="12.2"
clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r4"
x="24.4" y="288.4" textLength="12.2"
clip-path="url(#breeze-help-line-11)">-</text><text class="breeze-help-r4"
x="36.6" y="288.4" textLength="109.8"
clip-path="url(#breeze-help-line-11)">-database</text><text
class="breeze-help-r4" x="146.4" y="288.4" textLength="122"
clip-path="url(#breeze-help-line-11)">-isolation</text><text class="breeze-he
[...]
</text><text class="breeze-help-r5" x="0" y="312.8" textLength="1464"
clip-path="url(#breeze-help-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r1" x="1464" y="312.8" textLength="12.2"
clip-path="url(#breeze-help-line-12)">
</text><text class="breeze-help-r5" x="0" y="337.2" textLength="24.4"
clip-path="url(#breeze-help-line-13)">╭─</text><text class="breeze-help-r5"
x="24.4" y="337.2" textLength="463.6"
clip-path="url(#breeze-help-line-13)"> Docker Compose selection and cleanup </text><text
class="breeze-help-r5" x="488" y="337.2" textLength="951.6"
clip-path="url(#breeze-help-line-13)">──────────────────────────────────────────────────────────────────────────────</text><text
[...]
-</text><text class="breeze-help-r5" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r4"
x="24.4" y="361.6" textLength="170.8"
clip-path="url(#breeze-help-line-14)">--project-name</text><text
class="breeze-help-r1" x="244" y="361.6" textLength="1195.6"
clip-path="url(#breeze-help-line-14)">Name of the docker-compose project to bring down. The `docker-compose` is for legacy&
[...]
-</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r1"
x="244" y="386" textLength="512.4"
clip-path="url(#breeze-help-line-15)">project name and you can use `breeze down </text><text
class="breeze-help-r4" x="756.4" y="386" textLength="170.8"
clip-path="url(#breeze-help-line-15)">--project-name</text><text
class="breeze-help-r1" x="927.2" y="386" textLength="512 [...]
+</text><text class="breeze-help-r5" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r4"
x="24.4" y="361.6" textLength="12.2"
clip-path="url(#breeze-help-line-14)">-</text><text class="breeze-help-r4"
x="36.6" y="361.6" textLength="97.6"
clip-path="url(#breeze-help-line-14)">-project</text><text
class="breeze-help-r4" x="134.2" y="361.6" textLength="61"
clip-path="url(#breeze-help-line-14)">-name</text><text class="breeze-help-r1"
x [...]
+</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r1"
x="244" y="386" textLength="512.4"
clip-path="url(#breeze-help-line-15)">project name and you can use `breeze down </text><text
class="breeze-help-r4" x="756.4" y="386" textLength="12.2"
clip-path="url(#breeze-help-line-15)">-</text><text class="breeze-help-r4"
x="768.6" y="386" textLength="97.6" clip-path=" [...]
</text><text class="breeze-help-r5" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r1"
x="244" y="410.4" textLength="1195.6"
clip-path="url(#breeze-help-line-16)">belonging to it.                                         
[...]
</text><text class="breeze-help-r5" x="0" y="434.8" textLength="12.2"
clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r7"
x="244" y="434.8" textLength="1195.6"
clip-path="url(#breeze-help-line-17)">(breeze | pre-commit | docker-compose)                                   
[...]
</text><text class="breeze-help-r5" x="0" y="459.2" textLength="12.2"
clip-path="url(#breeze-help-line-18)">│</text><text class="breeze-help-r5"
x="244" y="459.2" textLength="1195.6"
clip-path="url(#breeze-help-line-18)">[default: breeze]                                         
[...]
-</text><text class="breeze-help-r5" x="0" y="483.6" textLength="12.2"
clip-path="url(#breeze-help-line-19)">│</text><text class="breeze-help-r4"
x="24.4" y="483.6" textLength="158.6"
clip-path="url(#breeze-help-line-19)">--docker-host</text><text
class="breeze-help-r1" x="244" y="483.6" textLength="915"
clip-path="url(#breeze-help-line-19)">Optional - docker host to use when running docker commands. When set, the `</text><t
[...]
+</text><text class="breeze-help-r5" x="0" y="483.6" textLength="12.2"
clip-path="url(#breeze-help-line-19)">│</text><text class="breeze-help-r4"
x="24.4" y="483.6" textLength="12.2"
clip-path="url(#breeze-help-line-19)">-</text><text class="breeze-help-r4"
x="36.6" y="483.6" textLength="85.4"
clip-path="url(#breeze-help-line-19)">-docker</text><text
class="breeze-help-r4" x="122" y="483.6" textLength="61"
clip-path="url(#breeze-help-line-19)">-host</text><text class="breeze-help-r1"
x="2 [...]
</text><text class="breeze-help-r5" x="0" y="508" textLength="12.2"
clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r1"
x="244" y="508" textLength="1195.6"
clip-path="url(#breeze-help-line-20)">ignored when building images.                                      
[...]
</text><text class="breeze-help-r5" x="0" y="532.4" textLength="12.2"
clip-path="url(#breeze-help-line-21)">│</text><text class="breeze-help-r7"
x="244" y="532.4" textLength="1195.6"
clip-path="url(#breeze-help-line-21)">(TEXT)                                            &
[...]
</text><text class="breeze-help-r5" x="0" y="556.8" textLength="1464"
clip-path="url(#breeze-help-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r1" x="1464" y="556.8" textLength="12.2"
clip-path="url(#breeze-help-line-22)">
</text><text class="breeze-help-r5" x="0" y="581.2" textLength="24.4"
clip-path="url(#breeze-help-line-23)">╭─</text><text class="breeze-help-r5"
x="24.4" y="581.2" textLength="122"
clip-path="url(#breeze-help-line-23)"> Database </text><text
class="breeze-help-r5" x="146.4" y="581.2" textLength="1293.2"
clip-path="url(#breeze-help-line-23)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="breeze-help- [...]
-</text><text class="breeze-help-r5" x="0" y="605.6" textLength="12.2"
clip-path="url(#breeze-help-line-24)">│</text><text class="breeze-help-r4"
x="24.4" y="605.6" textLength="109.8"
clip-path="url(#breeze-help-line-24)">--backend</text><text
class="breeze-help-r6" x="268.4" y="605.6" textLength="24.4"
clip-path="url(#breeze-help-line-24)">-b</text><text class="breeze-help-r1"
x="317.2" y="605.6" textLength="1122.4"
clip-path="url(#breeze-help-line-24)">Database backend to  [...]
+</text><text class="breeze-help-r5" x="0" y="605.6" textLength="12.2"
clip-path="url(#breeze-help-line-24)">│</text><text class="breeze-help-r4"
x="24.4" y="605.6" textLength="12.2"
clip-path="url(#breeze-help-line-24)">-</text><text class="breeze-help-r4"
x="36.6" y="605.6" textLength="97.6"
clip-path="url(#breeze-help-line-24)">-backend</text><text
class="breeze-help-r6" x="268.4" y="605.6" textLength="24.4"
clip-path="url(#breeze-help-line-24)">-b</text><text class="breeze-help-r1" x=
[...]
</text><text class="breeze-help-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-help-line-25)">│</text><text class="breeze-help-r1"
x="317.2" y="630" textLength="1122.4"
clip-path="url(#breeze-help-line-25)">configuration, meaning there will be no database available, and any attempts to connect to  </text><text
class="breeze-help-r5" x="1451.8" y="630" textLength="12.2"
clip-path="url(#breeze-help-line- [...]
</text><text class="breeze-help-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-help-line-26)">│</text><text class="breeze-help-r1"
x="317.2" y="654.4" textLength="1122.4"
clip-path="url(#breeze-help-line-26)">the Airflow database will fail.                                    &#
[...]
</text><text class="breeze-help-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-help-line-27)">│</text><text class="breeze-help-r7"
x="317.2" y="678.8" textLength="1122.4"
clip-path="url(#breeze-help-line-27)">(>sqlite< | mysql | postgres | none)                                 
[...]
</text><text class="breeze-help-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-help-line-28)">│</text><text class="breeze-help-r5"
x="317.2" y="703.2" textLength="1122.4"
clip-path="url(#breeze-help-line-28)">[default: sqlite]                                         &
[...]
-</text><text class="breeze-help-r5" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r4"
x="24.4" y="727.6" textLength="219.6"
clip-path="url(#breeze-help-line-29)">--postgres-version</text><text
class="breeze-help-r6" x="268.4" y="727.6" textLength="24.4"
clip-path="url(#breeze-help-line-29)">-P</text><text class="breeze-help-r1"
x="317.2" y="727.6" textLength="305"
clip-path="url(#breeze-help-line-29)">Version of Postgre [...]
-</text><text class="breeze-help-r5" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r4"
x="24.4" y="752" textLength="183"
clip-path="url(#breeze-help-line-30)">--mysql-version</text><text
class="breeze-help-r6" x="268.4" y="752" textLength="24.4"
clip-path="url(#breeze-help-line-30)">-M</text><text class="breeze-help-r1"
x="317.2" y="752" textLength="268.4"
clip-path="url(#breeze-help-line-30)">Version of MySQL used.</
[...]
-</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4"
x="24.4" y="776.4" textLength="122"
clip-path="url(#breeze-help-line-31)">--db-reset</text><text
class="breeze-help-r6" x="268.4" y="776.4" textLength="24.4"
clip-path="url(#breeze-help-line-31)">-d</text><text class="breeze-help-r1"
x="317.2" y="776.4" textLength="451.4"
clip-path="url(#breeze-help-line-31)">Reset DB when enterin [...]
+</text><text class="breeze-help-r5" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r4"
x="24.4" y="727.6" textLength="12.2"
clip-path="url(#breeze-help-line-29)">-</text><text class="breeze-help-r4"
x="36.6" y="727.6" textLength="109.8"
clip-path="url(#breeze-help-line-29)">-postgres</text><text
class="breeze-help-r4" x="146.4" y="727.6" textLength="97.6"
clip-path="url(#breeze-help-line-29)">-version</text><text class="breeze-hel
[...]
+</text><text class="breeze-help-r5" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r4"
x="24.4" y="752" textLength="12.2"
clip-path="url(#breeze-help-line-30)">-</text><text class="breeze-help-r4"
x="36.6" y="752" textLength="73.2"
clip-path="url(#breeze-help-line-30)">-mysql</text><text class="breeze-help-r4"
x="109.8" y="752" textLength="97.6"
clip-path="url(#breeze-help-line-30)">-version</text><text
class="breeze-help-r6" x="268 [...]
+</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4"
x="24.4" y="776.4" textLength="12.2"
clip-path="url(#breeze-help-line-31)">-</text><text class="breeze-help-r4"
x="36.6" y="776.4" textLength="36.6"
clip-path="url(#breeze-help-line-31)">-db</text><text class="breeze-help-r4"
x="73.2" y="776.4" textLength="73.2"
clip-path="url(#breeze-help-line-31)">-reset</text><text class="breeze-help-r6"
x="2 [...]
</text><text class="breeze-help-r5" x="0" y="800.8" textLength="1464"
clip-path="url(#breeze-help-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r1" x="1464" y="800.8" textLength="12.2"
clip-path="url(#breeze-help-line-32)">
</text><text class="breeze-help-r5" x="0" y="825.2" textLength="24.4"
clip-path="url(#breeze-help-line-33)">╭─</text><text class="breeze-help-r5"
x="24.4" y="825.2" textLength="488"
clip-path="url(#breeze-help-line-33)"> Build CI image (before entering shell) </text><text
class="breeze-help-r5" x="512.4" y="825.2" textLength="927.2"
clip-path="url(#breeze-help-line-33)">────────────────────────────────────────────────────────────────────────────</text><
[...]
-</text><text class="breeze-help-r5" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-help-line-34)">│</text><text class="breeze-help-r4"
x="24.4" y="849.6" textLength="231.8"
clip-path="url(#breeze-help-line-34)">--github-repository</text><text
class="breeze-help-r6" x="292.8" y="849.6" textLength="24.4"
clip-path="url(#breeze-help-line-34)">-g</text><text class="breeze-help-r1"
x="341.6" y="849.6" textLength="585.6"
clip-path="url(#breeze-help-line-34)">GitHub repository [...]
-</text><text class="breeze-help-r5" x="0" y="874" textLength="12.2"
clip-path="url(#breeze-help-line-35)">│</text><text class="breeze-help-r4"
x="24.4" y="874" textLength="109.8"
clip-path="url(#breeze-help-line-35)">--builder</text><text
class="breeze-help-r1" x="341.6" y="874" textLength="756.4"
clip-path="url(#breeze-help-line-35)">Buildx builder used to perform `docker buildx build` commands.</text><text
class="breeze-help-r7" x="1110.2" y="874 [...]
+</text><text class="breeze-help-r5" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-help-line-34)">│</text><text class="breeze-help-r4"
x="24.4" y="849.6" textLength="12.2"
clip-path="url(#breeze-help-line-34)">-</text><text class="breeze-help-r4"
x="36.6" y="849.6" textLength="85.4"
clip-path="url(#breeze-help-line-34)">-github</text><text
class="breeze-help-r4" x="122" y="849.6" textLength="134.2"
clip-path="url(#breeze-help-line-34)">-repository</text><text
class="breeze-help [...]
+</text><text class="breeze-help-r5" x="0" y="874" textLength="12.2"
clip-path="url(#breeze-help-line-35)">│</text><text class="breeze-help-r4"
x="24.4" y="874" textLength="12.2"
clip-path="url(#breeze-help-line-35)">-</text><text class="breeze-help-r4"
x="36.6" y="874" textLength="97.6"
clip-path="url(#breeze-help-line-35)">-builder</text><text
class="breeze-help-r1" x="341.6" y="874" textLength="756.4"
clip-path="url(#breeze-help-line-35)">Buildx builder used to perf
[...]
</text><text class="breeze-help-r5" x="0" y="898.4" textLength="12.2"
clip-path="url(#breeze-help-line-36)">│</text><text class="breeze-help-r5"
x="341.6" y="898.4" textLength="756.4"
clip-path="url(#breeze-help-line-36)">[default: autodetect]                                        
[...]
-</text><text class="breeze-help-r5" x="0" y="922.8" textLength="12.2"
clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r4"
x="24.4" y="922.8" textLength="97.6"
clip-path="url(#breeze-help-line-37)">--use-uv</text><text
class="breeze-help-r1" x="122" y="922.8" textLength="12.2"
clip-path="url(#breeze-help-line-37)">/</text><text class="breeze-help-r4"
x="134.2" y="922.8" textLength="134.2"
clip-path="url(#breeze-help-line-37)">--no-use-uv</text><text class="breeze-he
[...]
-</text><text class="breeze-help-r5" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r4"
x="24.4" y="947.2" textLength="207.4"
clip-path="url(#breeze-help-line-38)">--uv-http-timeout</text><text
class="breeze-help-r1" x="341.6" y="947.2" textLength="829.6"
clip-path="url(#breeze-help-line-38)">Timeout for requests that UV makes (only used in case of UV builds).</text><text
[...]
+</text><text class="breeze-help-r5" x="0" y="922.8" textLength="12.2"
clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r4"
x="24.4" y="922.8" textLength="12.2"
clip-path="url(#breeze-help-line-37)">-</text><text class="breeze-help-r4"
x="36.6" y="922.8" textLength="48.8"
clip-path="url(#breeze-help-line-37)">-use</text><text class="breeze-help-r4"
x="85.4" y="922.8" textLength="36.6"
clip-path="url(#breeze-help-line-37)">-uv</text><text class="breeze-help-r1"
x="122 [...]
+</text><text class="breeze-help-r5" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r4"
x="24.4" y="947.2" textLength="12.2"
clip-path="url(#breeze-help-line-38)">-</text><text class="breeze-help-r4"
x="36.6" y="947.2" textLength="36.6"
clip-path="url(#breeze-help-line-38)">-uv</text><text class="breeze-help-r4"
x="73.2" y="947.2" textLength="158.6"
clip-path="url(#breeze-help-line-38)">-http-timeout</text><text
class="breeze-help- [...]
</text><text class="breeze-help-r5" x="0" y="971.6" textLength="12.2"
clip-path="url(#breeze-help-line-39)">│</text><text class="breeze-help-r5"
x="341.6" y="971.6" textLength="829.6"
clip-path="url(#breeze-help-line-39)">[default: 300; x>=1]                                       
[...]
</text><text class="breeze-help-r5" x="0" y="996" textLength="1464"
clip-path="url(#breeze-help-line-40)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r1" x="1464" y="996" textLength="12.2"
clip-path="url(#breeze-help-line-40)">
</text><text class="breeze-help-r5" x="0" y="1020.4" textLength="24.4"
clip-path="url(#breeze-help-line-41)">╭─</text><text class="breeze-help-r5"
x="24.4" y="1020.4" textLength="183"
clip-path="url(#breeze-help-line-41)"> Other options </text><text
class="breeze-help-r5" x="207.4" y="1020.4" textLength="1232.2"
clip-path="url(#breeze-help-line-41)">─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="bree [...]
-</text><text class="breeze-help-r5" x="0" y="1044.8" textLength="12.2"
clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r4"
x="24.4" y="1044.8" textLength="256.2"
clip-path="url(#breeze-help-line-42)">--forward-credentials</text><text
class="breeze-help-r6" x="305" y="1044.8" textLength="24.4"
clip-path="url(#breeze-help-line-42)">-f</text><text class="breeze-help-r1"
x="353.8" y="1044.8" textLength="634.4"
clip-path="url(#breeze-help-line-42)">Forward local [...]
-</text><text class="breeze-help-r5" x="0" y="1069.2" textLength="12.2"
clip-path="url(#breeze-help-line-43)">│</text><text class="breeze-help-r4"
x="24.4" y="1069.2" textLength="122"
clip-path="url(#breeze-help-line-43)">--max-time</text><text
class="breeze-help-r1" x="353.8" y="1069.2" textLength="1049.2"
clip-path="url(#breeze-help-line-43)">Maximum time that the command should take - if it takes longer, the command 
[...]
+</text><text class="breeze-help-r5" x="0" y="1044.8" textLength="12.2"
clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r4"
x="24.4" y="1044.8" textLength="12.2"
clip-path="url(#breeze-help-line-42)">-</text><text class="breeze-help-r4"
x="36.6" y="1044.8" textLength="97.6"
clip-path="url(#breeze-help-line-42)">-forward</text><text
class="breeze-help-r4" x="134.2" y="1044.8" textLength="146.4"
clip-path="url(#breeze-help-line-42)">-credentials</text><text class="bre [...]
+</text><text class="breeze-help-r5" x="0" y="1069.2" textLength="12.2"
clip-path="url(#breeze-help-line-43)">│</text><text class="breeze-help-r4"
x="24.4" y="1069.2" textLength="12.2"
clip-path="url(#breeze-help-line-43)">-</text><text class="breeze-help-r4"
x="36.6" y="1069.2" textLength="48.8"
clip-path="url(#breeze-help-line-43)">-max</text><text class="breeze-help-r4"
x="85.4" y="1069.2" textLength="61"
clip-path="url(#breeze-help-line-43)">-time</text><text class="breeze-help-r1"
x= [...]
</text><text class="breeze-help-r5" x="0" y="1093.6" textLength="12.2"
clip-path="url(#breeze-help-line-44)">│</text><text class="breeze-help-r7"
x="353.8" y="1093.6" textLength="1049.2"
clip-path="url(#breeze-help-line-44)">(INTEGER RANGE)                                         &
[...]
</text><text class="breeze-help-r5" x="0" y="1118" textLength="1464"
clip-path="url(#breeze-help-line-45)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r1" x="1464" y="1118" textLength="12.2"
clip-path="url(#breeze-help-line-45)">
</text><text class="breeze-help-r5" x="0" y="1142.4" textLength="24.4"
clip-path="url(#breeze-help-line-46)">╭─</text><text class="breeze-help-r5"
x="24.4" y="1142.4" textLength="195.2"
clip-path="url(#breeze-help-line-46)"> Common options </text><text
class="breeze-help-r5" x="219.6" y="1142.4" textLength="1220"
clip-path="url(#breeze-help-line-46)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="bree [...]
-</text><text class="breeze-help-r5" x="0" y="1166.8" textLength="12.2"
clip-path="url(#breeze-help-line-47)">│</text><text class="breeze-help-r4"
x="24.4" y="1166.8" textLength="97.6"
clip-path="url(#breeze-help-line-47)">--answer</text><text
class="breeze-help-r6" x="158.6" y="1166.8" textLength="24.4"
clip-path="url(#breeze-help-line-47)">-a</text><text class="breeze-help-r1"
x="207.4" y="1166.8" textLength="317.2"
clip-path="url(#breeze-help-line-47)">Force answer to qu [...]
-</text><text class="breeze-help-r5" x="0" y="1191.2" textLength="12.2"
clip-path="url(#breeze-help-line-48)">│</text><text class="breeze-help-r4"
x="24.4" y="1191.2" textLength="109.8"
clip-path="url(#breeze-help-line-48)">--dry-run</text><text
class="breeze-help-r6" x="158.6" y="1191.2" textLength="24.4"
clip-path="url(#breeze-help-line-48)">-D</text><text class="breeze-help-r1"
x="207.4" y="1191.2" textLength="719.8"
clip-path="url(#breeze-help-line-48)">If dry-run is se [...]
-</text><text class="breeze-help-r5" x="0" y="1215.6" textLength="12.2"
clip-path="url(#breeze-help-line-49)">│</text><text class="breeze-help-r4"
x="24.4" y="1215.6" textLength="109.8"
clip-path="url(#breeze-help-line-49)">--verbose</text><text
class="breeze-help-r6" x="158.6" y="1215.6" textLength="24.4"
clip-path="url(#breeze-help-line-49)">-v</text><text class="breeze-help-r1"
x="207.4" y="1215.6" textLength="585.6"
clip-path="url(#breeze-help-line-49)">Print verbose informa [...]
-</text><text class="breeze-help-r5" x="0" y="1240" textLength="12.2"
clip-path="url(#breeze-help-line-50)">│</text><text class="breeze-help-r4"
x="24.4" y="1240" textLength="73.2"
clip-path="url(#breeze-help-line-50)">--help</text><text class="breeze-help-r6"
x="158.6" y="1240" textLength="24.4"
clip-path="url(#breeze-help-line-50)">-h</text><text class="breeze-help-r1"
x="207.4" y="1240" textLength="329.4"
clip-path="url(#breeze-help-line-50)">Show this message and e
[...]
+</text><text class="breeze-help-r5" x="0" y="1166.8" textLength="12.2"
clip-path="url(#breeze-help-line-47)">│</text><text class="breeze-help-r4"
x="24.4" y="1166.8" textLength="12.2"
clip-path="url(#breeze-help-line-47)">-</text><text class="breeze-help-r4"
x="36.6" y="1166.8" textLength="85.4"
clip-path="url(#breeze-help-line-47)">-answer</text><text
class="breeze-help-r6" x="158.6" y="1166.8" textLength="24.4"
clip-path="url(#breeze-help-line-47)">-a</text><text class="breeze-help-r1"
[...]
+</text><text class="breeze-help-r5" x="0" y="1191.2" textLength="12.2"
clip-path="url(#breeze-help-line-48)">│</text><text class="breeze-help-r4"
x="24.4" y="1191.2" textLength="12.2"
clip-path="url(#breeze-help-line-48)">-</text><text class="breeze-help-r4"
x="36.6" y="1191.2" textLength="48.8"
clip-path="url(#breeze-help-line-48)">-dry</text><text class="breeze-help-r4"
x="85.4" y="1191.2" textLength="48.8"
clip-path="url(#breeze-help-line-48)">-run</text><text class="breeze-help-r6" x
[...]
+</text><text class="breeze-help-r5" x="0" y="1215.6" textLength="12.2"
clip-path="url(#breeze-help-line-49)">│</text><text class="breeze-help-r4"
x="24.4" y="1215.6" textLength="12.2"
clip-path="url(#breeze-help-line-49)">-</text><text class="breeze-help-r4"
x="36.6" y="1215.6" textLength="97.6"
clip-path="url(#breeze-help-line-49)">-verbose</text><text
class="breeze-help-r6" x="158.6" y="1215.6" textLength="24.4"
clip-path="url(#breeze-help-line-49)">-v</text><text class="breeze-help-r1 [...]
+</text><text class="breeze-help-r5" x="0" y="1240" textLength="12.2"
clip-path="url(#breeze-help-line-50)">│</text><text class="breeze-help-r4"
x="24.4" y="1240" textLength="12.2"
clip-path="url(#breeze-help-line-50)">-</text><text class="breeze-help-r4"
x="36.6" y="1240" textLength="61"
clip-path="url(#breeze-help-line-50)">-help</text><text class="breeze-help-r6"
x="158.6" y="1240" textLength="24.4"
clip-path="url(#breeze-help-line-50)">-h</text><text class="breeze-help-r1"
x="207.4" y [...]
</text><text class="breeze-help-r5" x="0" y="1264.4" textLength="1464"
clip-path="url(#breeze-help-line-51)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-help-r1" x="1464" y="1264.4" textLength="12.2"
clip-path="url(#breeze-help-line-51)">
</text><text class="breeze-help-r5" x="0" y="1288.8" textLength="24.4"
clip-path="url(#breeze-help-line-52)">╭─</text><text class="breeze-help-r5"
x="24.4" y="1288.8" textLength="244"
clip-path="url(#breeze-help-line-52)"> Developer commands </text><text
class="breeze-help-r5" x="268.4" y="1288.8" textLength="1171.2"
clip-path="url(#breeze-help-line-52)">────────────────────────────────────────────────────────────────────────────────────────────────</text><text
class="bree [...]
</text><text class="breeze-help-r5" x="0" y="1313.2" textLength="12.2"
clip-path="url(#breeze-help-line-53)">│</text><text class="breeze-help-r4"
x="24.4" y="1313.2" textLength="280.6"
clip-path="url(#breeze-help-line-53)">start-airflow          </text><text
class="breeze-help-r1" x="329.4" y="1313.2" textLength="1110.2"
clip-path="url(#breeze-help-line-53)">Enter breeze environment and starts all Airflow
[...]
diff --git a/dev/breeze/doc/images/output_static-checks.svg
b/dev/breeze/doc/images/output_static-checks.svg
index de796de4e07..d8f715c4b85 100644
--- a/dev/breeze/doc/images/output_static-checks.svg
+++ b/dev/breeze/doc/images/output_static-checks.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 2172.7999999999997"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 2197.2"
xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@@ -43,7 +43,7 @@
<defs>
<clipPath id="breeze-static-checks-clip-terminal">
- <rect x="0" y="0" width="1463.0" height="2121.7999999999997" />
+ <rect x="0" y="0" width="1463.0" height="2146.2" />
</clipPath>
<clipPath id="breeze-static-checks-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -303,9 +303,12 @@
<clipPath id="breeze-static-checks-line-85">
<rect x="0" y="2075.5" width="1464" height="24.65"/>
</clipPath>
+<clipPath id="breeze-static-checks-line-86">
+ <rect x="0" y="2099.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="2170.8" rx="8"/><text
class="breeze-static-checks-title" fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: static-checks</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1"
x="1" y="1" width="1480" height="2195.2" rx="8"/><text
class="breeze-static-checks-title" fill="#c5c8c6" text-anchor="middle" x="740"
y="27">Command: static-checks</text>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -321,7 +324,7 @@
</text><text class="breeze-static-checks-r1" x="12.2" y="93.2"
textLength="219.6"
clip-path="url(#breeze-static-checks-line-3)">Run static checks.</text><text
class="breeze-static-checks-r1" x="1464" y="93.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-3)">
</text><text class="breeze-static-checks-r1" 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)"> Pre-commit flags </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="73.2"
clip-path="url(#breeze-static-checks-line-6)">--type</text><text
class="breeze-static-checks-r6" x="402.6" y="166.4" textLength="24.4"
clip-path="url(#breeze-static-checks-line-6)">-t</text><text
class="breeze-static-checks-r1" x="451.4" y="166.4" textLength="988.2"
clip-path="url(#b [...]
+</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="402.6" 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="451.4" y="190.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-7)">(all | bandit | blacken-docs | check-aiobotocore-optional |                      </text><te
[...]
</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="451.4" y="215.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-8)">check-airflow-k8s-not-used | check-airflow-provider-compatibility |              </text><text
class="breeze-static-checks-r5" x="1451.8" y="215.2" text [...]
</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="451.4" y="239.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-9)">check-airflow-providers-bug-report-template | check-apache-license-rat |         </text><text
class="breeze-static-checks-r5" x="1451.8" y="239.6" textLength="12.2"
clip-path=" [...]
@@ -340,68 +343,69 @@
</text><text class="breeze-static-checks-r5" x="0" y="556.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-22)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="556.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-22)">check-incorrect-use-of-LoggingMixin | check-init-decorator-arguments |           </text><text
class="breeze-static-checks-r5" x="1451.8" y="556.8" textLength="12.2" [...]
</text><text class="breeze-static-checks-r5" x="0" y="581.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-23)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="581.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-23)">check-integrations-list-consistent | check-lazy-logging |                        </text><text
class [...]
</text><text class="breeze-static-checks-r5" x="0" y="605.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-24)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="605.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-24)">check-links-to-example-dags-do-not-use-hardcoded-versions | check-merge-conflict </text><text
class="breeze-static-checks-r5" x="1451.8" y="605.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-24)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-static-checks-line-25)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="630" textLength="988.2"
clip-path="url(#breeze-static-checks-line-25)">| check-newsfragments-are-valid | check-no-airflow-deprecation-in-providers |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="630" textLength="12.2"
clip-path="url(#breeze-static-check [...]
-</text><text class="breeze-static-checks-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-26)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="654.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-26)">check-no-providers-in-core-examples | check-only-new-session-with-provide-session</text><text
class="breeze-static-checks-r5" x="1451.8" y="654.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-26)">│</text><tex [...]
-</text><text class="breeze-static-checks-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-27)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="678.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-27)">| check-persist-credentials-disabled-in-github-workflows |                       </text><text
class="breeze-s [...]
-</text><text class="breeze-static-checks-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-28)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="703.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-28)">check-pre-commit-information-consistent | check-provide-create-sessions-imports |</text><text
class="breeze-static-checks-r5" x="1451.8" y="703.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-28)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-29)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="727.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-29)">check-provider-docs-valid | check-provider-yaml-valid |                          </text><
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-static-checks-line-30)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="752" textLength="988.2"
clip-path="url(#breeze-static-checks-line-30)">check-providers-init-file-missing | check-providers-subpackages-init-file-exist |</text><text
class="breeze-static-checks-r5" x="1451.8" y="752" textLength="12.2"
clip-path="url(#breeze-static-checks-line-30)">│</text><text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-31)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="776.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-31)">check-pydevd-left-in-code | check-revision-heads-map |                           </t
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="800.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-32)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="800.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-32)">check-safe-filter-usage-in-html | check-sql-dependency-common-data-structure |   </text><text
class="breeze-static-checks-r5" x="1451.8" y="800.8" textLength="12.2"
clip-path="url(#breeze-static-checks-li [...]
-</text><text class="breeze-static-checks-r5" x="0" y="825.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-33)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="825.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-33)">check-start-date-not-used-in-defaults | check-system-tests-present |             </text><text
class="breeze-static-checks-r5" x="1451.8" y="825.2" textLen [...]
-</text><text class="breeze-static-checks-r5" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-34)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="849.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-34)">check-system-tests-tocs | check-taskinstance-tis-attrs |                         </text><text
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="874" textLength="12.2"
clip-path="url(#breeze-static-checks-line-35)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="874" textLength="988.2"
clip-path="url(#breeze-static-checks-line-35)">check-template-context-variable-in-sync | check-tests-in-the-right-folders |     </text><text
class="breeze-static-checks-r5" x="1451.8" y="874" textLength="12.2"
clip-path="url(#breeze-static-check [...]
-</text><text class="breeze-static-checks-r5" x="0" y="898.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-36)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="898.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-36)">check-tests-unittest-testcase | check-urlparse-usage-in-code |                   </text><text
class="breeze-static-checks-r5 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="922.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-37)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="922.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-37)">check-usage-of-re2-over-re | check-xml | codespell | compile-www-assets |        </text><text
class="breeze-static-checks-r5" x="1451.8" y="922.8" textLength=" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-38)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="947.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-38)">compile-www-assets-dev | create-missing-init-py-files-tests | debug-statements | </text><text
class="breeze-static-checks-r5" x="1451.8" y="947.2" textLength="12.2"
clip-path="url(#breeze-static-checks-li [...]
-</text><text class="breeze-static-checks-r5" x="0" y="971.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-39)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="971.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-39)">detect-private-key | doctoc | end-of-file-fixer | fix-encoding-pragma | flynt |  </text><text
class="breeze-static-checks-r5" x="1451.8" y="971.6" textLength="12.2"
clip-path="url [...]
-</text><text class="breeze-static-checks-r5" x="0" y="996" textLength="12.2"
clip-path="url(#breeze-static-checks-line-40)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="996" textLength="988.2"
clip-path="url(#breeze-static-checks-line-40)">generate-airflow-diagrams | generate-pypi-readme | identity | insert-license |   </text><text
class="breeze-static-checks-r5" x="1451.8" y="996" textLength="12.2"
clip-path="url(#breeze-st [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1020.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-41)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1020.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-41)">kubeconform | lint-chart-schema | lint-css | lint-dockerfile | lint-helm-chart | </text><text
class="breeze-static-checks-r5" x="1451.8" y="1020.4" textLength="12.2"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1044.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-42)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1044.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-42)">lint-json-schema | lint-markdown | lint-openapi | mixed-line-ending |            </text><text
class="breeze-static-checks-r5" x="1451.8" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1069.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-43)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1069.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-43)">mypy-airflow | mypy-dev | mypy-docs | mypy-providers | pretty-format-json |      </text><text
class="breeze-static-checks-r5" x="1451.8" y="1069.2" textLengt [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1093.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-44)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1093.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-44)">pylint | python-no-log-warn | replace-bad-characters | rst-backticks | ruff |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1093.6" textLength="12.2" c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1118" textLength="12.2"
clip-path="url(#breeze-static-checks-line-45)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1118" textLength="988.2"
clip-path="url(#breeze-static-checks-line-45)">ruff-format | shellcheck | trailing-whitespace | ts-compile-format-lint-www |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1118" textLength="12.2"
clip-path="url(#b [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1142.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-46)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1142.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-46)">update-black-version | update-breeze-cmd-output |                            
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1166.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-47)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1166.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-47)">update-breeze-readme-config-hash | update-build-dependencies |                   </text><text
class="breeze-static-checks- [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1191.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-48)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1191.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-48)">update-chart-dependencies | update-common-sql-api-stubs | update-er-diagram |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1191.2" textLength="12.2"
clip-path="url(#breez [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1215.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-49)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1215.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-49)">update-extras | update-in-the-wild-to-be-sorted |                            
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1240" textLength="12.2"
clip-path="url(#breeze-static-checks-line-50)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1240" textLength="988.2"
clip-path="url(#breeze-static-checks-line-50)">update-inlined-dockerfile-scripts | update-installed-providers-to-be-sorted |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1240" textLength="12.2"
clip-path="url(#breeze-static-checks- [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1264.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-51)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1264.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-51)">update-installers | update-local-yml-file | update-migration-references |        </text><text
class="breeze-static-checks-r5" x="1451.8" y="1264.4" textLength="12.2" c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1288.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-52)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1288.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-52)">update-openapi-spec-tags-to-be-sorted | update-providers-dependencies |          </text><text
class="breeze-static-checks-r5" x="1451.8" y="1288.8" textLength="12.2" c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1313.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-53)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1313.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-53)">update-reproducible-source-date-epoch | update-spelling-wordlist-to-be-sorted |  </text><text
class="breeze-static-checks-r5" x="1451.8" y="1313.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1337.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-54)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1337.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-54)">update-supported-versions | update-vendored-in-k8s-json-schema | update-version |</text><text
class="breeze-static-checks-r5" x="1451.8" y="1337.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1362" textLength="12.2"
clip-path="url(#breeze-static-checks-line-55)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1362" textLength="988.2"
clip-path="url(#breeze-static-checks-line-55)">validate-operators-init | yamllint)                                
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1386.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-56)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1386.4" textLength="268.4"
clip-path="url(#breeze-static-checks-line-56)">--show-diff-on-failure</text><text
class="breeze-static-checks-r6" x="402.6" y="1386.4" textLength="24.4"
clip-path="url(#breeze-static-checks-line-56)">-s</text><text
class="breeze-static-checks-r1" x="451.4" y="1386.4" textLength=" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1410.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-57)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1410.8" textLength="292.8"
clip-path="url(#breeze-static-checks-line-57)">--initialize-environment</text><text
class="breeze-static-checks-r1" x="451.4" y="1410.8" textLength="549"
clip-path="url(#breeze-static-checks-line-57)">Initialize environment before running checks.</text><text
c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1435.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-58)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1435.2" textLength="353.8"
clip-path="url(#breeze-static-checks-line-58)">--max-initialization-attempts</text><text
class="breeze-static-checks-r1" x="451.4" y="1435.2" textLength="854"
clip-path="url(#breeze-static-checks-line-58)">Maximum number of attempts to initialize env
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1459.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-59)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1459.6" textLength="854"
clip-path="url(#breeze-static-checks-line-59)">(INTEGER RANGE)                                   
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1484" textLength="12.2"
clip-path="url(#breeze-static-checks-line-60)">│</text><text
class="breeze-static-checks-r5" x="451.4" y="1484" textLength="854"
clip-path="url(#breeze-static-checks-line-60)">[default: 3; 1<=x<=10]                                 &#
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1508.4"
textLength="1464"
clip-path="url(#breeze-static-checks-line-61)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="1508.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-61)">
-</text><text class="breeze-static-checks-r5" x="0" y="1532.8"
textLength="24.4" clip-path="url(#breeze-static-checks-line-62)">╭─</text><text
class="breeze-static-checks-r5" x="24.4" y="1532.8" textLength="463.6"
clip-path="url(#breeze-static-checks-line-62)"> Selecting files to run the checks on </text><text
class="breeze-static-checks-r5" x="488" y="1532.8" textLength="951.6"
clip-path="url(#breeze-static-checks-line-62)">──────────────────────── [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1557.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-63)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1557.2" textLength="73.2"
clip-path="url(#breeze-static-checks-line-63)">--file</text><text
class="breeze-static-checks-r6" x="256.2" y="1557.2" textLength="24.4"
clip-path="url(#breeze-static-checks-line-63)">-f</text><text
class="breeze-static-checks-r1" x="305" y="1557.2" textLength="427"
clip-path="url [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1581.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-64)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1581.6" textLength="134.2"
clip-path="url(#breeze-static-checks-line-64)">--all-files</text><text
class="breeze-static-checks-r6" x="256.2" y="1581.6" textLength="24.4"
clip-path="url(#breeze-static-checks-line-64)">-a</text><text
class="breeze-static-checks-r1" x="305" y="1581.6" textLength="292.8" clip-p
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1606" textLength="12.2"
clip-path="url(#breeze-static-checks-line-65)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1606" textLength="146.4"
clip-path="url(#breeze-static-checks-line-65)">--commit-ref</text><text
class="breeze-static-checks-r6" x="256.2" y="1606" textLength="24.4"
clip-path="url(#breeze-static-checks-line-65)">-r</text><text
class="breeze-static-checks-r1" x="305" y="1606" textLength="1134.6"
clip-path="u [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1630.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-66)">│</text><text
class="breeze-static-checks-r1" x="305" y="1630.4" textLength="183"
clip-path="url(#breeze-static-checks-line-66)">exclusive with </text><text
class="breeze-static-checks-r4" x="488" y="1630.4" textLength="158.6"
clip-path="url(#breeze-static-checks-line-66)">--last-commit</text><text
class="breeze-static-checks-r1" x="646.6" y="1630.4" te [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1654.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-67)">│</text><text
class="breeze-static-checks-r7" x="305" y="1654.8" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-67)">(TEXT)                                      
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1679.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-68)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1679.2" textLength="158.6"
clip-path="url(#breeze-static-checks-line-68)">--last-commit</text><text
class="breeze-static-checks-r6" x="256.2" y="1679.2" textLength="24.4"
clip-path="url(#breeze-static-checks-line-68)">-c</text><text
class="breeze-static-checks-r1" x="305" y="1679.2" textLength="793" clip-p [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1703.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-69)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1703.6" textLength="207.4"
clip-path="url(#breeze-static-checks-line-69)">--only-my-changes</text><text
class="breeze-static-checks-r6" x="256.2" y="1703.6" textLength="24.4"
clip-path="url(#breeze-static-checks-line-69)">-m</text><text
class="breeze-static-checks-r1" x="305" y="1703.6" textLength="1134.6" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1728" textLength="12.2"
clip-path="url(#breeze-static-checks-line-70)">│</text><text
class="breeze-static-checks-r1" x="305" y="1728" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-70)">branch and HEAD of your branch.                              &
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1752.4"
textLength="1464"
clip-path="url(#breeze-static-checks-line-71)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="1752.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-71)">
-</text><text class="breeze-static-checks-r5" x="0" y="1776.8"
textLength="24.4" clip-path="url(#breeze-static-checks-line-72)">╭─</text><text
class="breeze-static-checks-r5" x="24.4" y="1776.8" textLength="463.6"
clip-path="url(#breeze-static-checks-line-72)"> Building image before running checks </text><text
class="breeze-static-checks-r5" x="488" y="1776.8" textLength="951.6"
clip-path="url(#breeze-static-checks-line-72)">──────────────────────────────────
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1801.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-73)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1801.2" textLength="317.2"
clip-path="url(#breeze-static-checks-line-73)">--skip-image-upgrade-check</text><text
class="breeze-static-checks-r1" x="414.8" y="1801.2" textLength="536.8"
clip-path="url(#breeze-static-checks-line-73)">Skip checking if the CI image is up 
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1825.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-74)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1825.6" textLength="158.6"
clip-path="url(#breeze-static-checks-line-74)">--force-build</text><text
class="breeze-static-checks-r1" x="414.8" y="1825.6" textLength="707.6"
clip-path="url(#breeze-static-checks-line-74)">Force image build no matter if it is determined&
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1850" textLength="12.2"
clip-path="url(#breeze-static-checks-line-75)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1850" textLength="134.2"
clip-path="url(#breeze-static-checks-line-75)">--image-tag</text><text
class="breeze-static-checks-r1" x="414.8" y="1850" textLength="695.4"
clip-path="url(#breeze-static-checks-line-75)">Tag of the image which is used to run the imag
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1874.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-76)">│</text><text
class="breeze-static-checks-r7" x="414.8" y="1874.4" textLength="963.8"
clip-path="url(#breeze-static-checks-line-76)">(TEXT)                                     
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1898.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-77)">│</text><text
class="breeze-static-checks-r5" x="414.8" y="1898.8" textLength="963.8"
clip-path="url(#breeze-static-checks-line-77)">[default: latest]                                   
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1923.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-78)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1923.2" textLength="231.8"
clip-path="url(#breeze-static-checks-line-78)">--github-repository</text><text
class="breeze-static-checks-r6" x="366" y="1923.2" textLength="24.4"
clip-path="url(#breeze-static-checks-line-78)">-g</text><text
class="breeze-static-checks-r1" x="414.8" y="1923.2" textLength="585.6 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1947.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-79)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1947.6" textLength="109.8"
clip-path="url(#breeze-static-checks-line-79)">--builder</text><text
class="breeze-static-checks-r1" x="414.8" y="1947.6" textLength="756.4"
clip-path="url(#breeze-static-checks-line-79)">Buildx builder used to perform `docker buildx build` 
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1972" textLength="12.2"
clip-path="url(#breeze-static-checks-line-80)">│</text><text
class="breeze-static-checks-r5" x="414.8" y="1972" textLength="756.4"
clip-path="url(#breeze-static-checks-line-80)">[default: autodetect]                                   
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1996.4"
textLength="1464"
clip-path="url(#breeze-static-checks-line-81)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="1996.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-81)">
-</text><text class="breeze-static-checks-r5" x="0" y="2020.8"
textLength="24.4" clip-path="url(#breeze-static-checks-line-82)">╭─</text><text
class="breeze-static-checks-r5" x="24.4" y="2020.8" textLength="195.2"
clip-path="url(#breeze-static-checks-line-82)"> Common options </text><text
class="breeze-static-checks-r5" x="219.6" y="2020.8" textLength="1220"
clip-path="url(#breeze-static-checks-line-82)">──────────────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="2045.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-83)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="2045.2" textLength="109.8"
clip-path="url(#breeze-static-checks-line-83)">--dry-run</text><text
class="breeze-static-checks-r6" x="158.6" y="2045.2" textLength="24.4"
clip-path="url(#breeze-static-checks-line-83)">-D</text><text
class="breeze-static-checks-r1" x="207.4" y="2045.2" textLength="719.8" clip-p
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="2069.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-84)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="2069.6" textLength="109.8"
clip-path="url(#breeze-static-checks-line-84)">--verbose</text><text
class="breeze-static-checks-r6" x="158.6" y="2069.6" textLength="24.4"
clip-path="url(#breeze-static-checks-line-84)">-v</text><text
class="breeze-static-checks-r1" x="207.4" y="2069.6" textLength="585.6" clip-p
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="2094" textLength="12.2"
clip-path="url(#breeze-static-checks-line-85)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="2094" textLength="73.2"
clip-path="url(#breeze-static-checks-line-85)">--help</text><text
class="breeze-static-checks-r6" x="158.6" y="2094" textLength="24.4"
clip-path="url(#breeze-static-checks-line-85)">-h</text><text
class="breeze-static-checks-r1" x="207.4" y="2094" textLength="329.4"
clip-path="url(#br [...]
-</text><text class="breeze-static-checks-r5" x="0" y="2118.4"
textLength="1464"
clip-path="url(#breeze-static-checks-line-86)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="2118.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-86)">
+</text><text class="breeze-static-checks-r5" x="0" y="630" textLength="12.2"
clip-path="url(#breeze-static-checks-line-25)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="630" textLength="988.2"
clip-path="url(#breeze-static-checks-line-25)">| check-min-python-version | check-newsfragments-are-valid |                     </text><text
class="breeze-stati [...]
+</text><text class="breeze-static-checks-r5" x="0" y="654.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-26)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="654.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-26)">check-no-airflow-deprecation-in-providers | check-no-providers-in-core-examples |</text><text
class="breeze-static-checks-r5" x="1451.8" y="654.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-26)">│</text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="678.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-27)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="678.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-27)">check-only-new-session-with-provide-session |                              
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="703.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-28)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="703.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-28)">check-persist-credentials-disabled-in-github-workflows |                         </text><text
class="bre [...]
+</text><text class="breeze-static-checks-r5" x="0" y="727.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-29)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="727.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-29)">check-pre-commit-information-consistent | check-provide-create-sessions-imports |</text><text
class="breeze-static-checks-r5" x="1451.8" y="727.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-29)">│</text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="752" textLength="12.2"
clip-path="url(#breeze-static-checks-line-30)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="752" textLength="988.2"
clip-path="url(#breeze-static-checks-line-30)">check-provider-docs-valid | check-provider-yaml-valid |                          </text><text
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="776.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-31)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="776.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-31)">check-providers-init-file-missing | check-providers-subpackages-init-file-exist |</text><text
class="breeze-static-checks-r5" x="1451.8" y="776.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-31)">│</text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="800.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-32)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="800.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-32)">check-pydevd-left-in-code | check-revision-heads-map |                           </t
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="825.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-33)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="825.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-33)">check-safe-filter-usage-in-html | check-sql-dependency-common-data-structure |   </text><text
class="breeze-static-checks-r5" x="1451.8" y="825.2" textLength="12.2"
clip-path="url(#breeze-static-checks-li [...]
+</text><text class="breeze-static-checks-r5" x="0" y="849.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-34)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="849.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-34)">check-start-date-not-used-in-defaults | check-system-tests-present |             </text><text
class="breeze-static-checks-r5" x="1451.8" y="849.6" textLen [...]
+</text><text class="breeze-static-checks-r5" x="0" y="874" textLength="12.2"
clip-path="url(#breeze-static-checks-line-35)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="874" textLength="988.2"
clip-path="url(#breeze-static-checks-line-35)">check-system-tests-tocs | check-taskinstance-tis-attrs |                         </text><text
clas [...]
+</text><text class="breeze-static-checks-r5" x="0" y="898.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-36)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="898.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-36)">check-template-context-variable-in-sync | check-tests-in-the-right-folders |     </text><text
class="breeze-static-checks-r5" x="1451.8" y="898.4" textLength="12.2"
clip-path="url(#breeze-static [...]
+</text><text class="breeze-static-checks-r5" x="0" y="922.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-37)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="922.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-37)">check-tests-unittest-testcase | check-urlparse-usage-in-code |                   </text><text
class="breeze-static-checks-r5 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="947.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-38)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="947.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-38)">check-usage-of-re2-over-re | check-xml | codespell | compile-www-assets |        </text><text
class="breeze-static-checks-r5" x="1451.8" y="947.2" textLength=" [...]
+</text><text class="breeze-static-checks-r5" x="0" y="971.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-39)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="971.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-39)">compile-www-assets-dev | create-missing-init-py-files-tests | debug-statements | </text><text
class="breeze-static-checks-r5" x="1451.8" y="971.6" textLength="12.2"
clip-path="url(#breeze-static-checks-li [...]
+</text><text class="breeze-static-checks-r5" x="0" y="996" textLength="12.2"
clip-path="url(#breeze-static-checks-line-40)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="996" textLength="988.2"
clip-path="url(#breeze-static-checks-line-40)">detect-private-key | doctoc | end-of-file-fixer | fix-encoding-pragma | flynt |  </text><text
class="breeze-static-checks-r5" x="1451.8" y="996" textLength="12.2"
clip-path="url(#bree [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1020.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-41)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1020.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-41)">generate-airflow-diagrams | generate-pypi-readme | identity | insert-license |   </text><text
class="breeze-static-checks-r5" x="1451.8" y="1020.4" textLength="12.2"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1044.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-42)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1044.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-42)">kubeconform | lint-chart-schema | lint-css | lint-dockerfile | lint-helm-chart | </text><text
class="breeze-static-checks-r5" x="1451.8" y="1044.8" textLength="12.2"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1069.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-43)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1069.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-43)">lint-json-schema | lint-markdown | lint-openapi | mixed-line-ending |            </text><text
class="breeze-static-checks-r5" x="1451.8" [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1093.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-44)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1093.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-44)">mypy-airflow | mypy-dev | mypy-docs | mypy-providers | pretty-format-json |      </text><text
class="breeze-static-checks-r5" x="1451.8" y="1093.6" textLengt [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1118" textLength="12.2"
clip-path="url(#breeze-static-checks-line-45)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1118" textLength="988.2"
clip-path="url(#breeze-static-checks-line-45)">pylint | python-no-log-warn | replace-bad-characters | rst-backticks | ruff |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1118" textLength="12.2" clip-pa
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1142.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-46)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1142.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-46)">ruff-format | shellcheck | trailing-whitespace | ts-compile-format-lint-www |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1142.4" textLength="12.2"
clip-path=" [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1166.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-47)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1166.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-47)">update-black-version | update-breeze-cmd-output |                            
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1191.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-48)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1191.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-48)">update-breeze-readme-config-hash | update-build-dependencies |                   </text><text
class="breeze-static-checks- [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1215.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-49)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1215.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-49)">update-chart-dependencies | update-common-sql-api-stubs | update-er-diagram |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1215.6" textLength="12.2"
clip-path="url(#breez [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1240" textLength="12.2"
clip-path="url(#breeze-static-checks-line-50)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1240" textLength="988.2"
clip-path="url(#breeze-static-checks-line-50)">update-extras | update-in-the-wild-to-be-sorted |                            
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1264.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-51)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1264.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-51)">update-inlined-dockerfile-scripts | update-installed-providers-to-be-sorted |    </text><text
class="breeze-static-checks-r5" x="1451.8" y="1264.4" textLength="12.2"
clip-path="url(#breeze-static-c [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1288.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-52)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1288.8" textLength="988.2"
clip-path="url(#breeze-static-checks-line-52)">update-installers | update-local-yml-file | update-migration-references |        </text><text
class="breeze-static-checks-r5" x="1451.8" y="1288.8" textLength="12.2" c [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1313.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-53)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1313.2" textLength="988.2"
clip-path="url(#breeze-static-checks-line-53)">update-openapi-spec-tags-to-be-sorted | update-providers-dependencies |          </text><text
class="breeze-static-checks-r5" x="1451.8" y="1313.2" textLength="12.2" c [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1337.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-54)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1337.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-54)">update-reproducible-source-date-epoch | update-spelling-wordlist-to-be-sorted |  </text><text
class="breeze-static-checks-r5" x="1451.8" y="1337.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1362" textLength="12.2"
clip-path="url(#breeze-static-checks-line-55)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1362" textLength="988.2"
clip-path="url(#breeze-static-checks-line-55)">update-supported-versions | update-vendored-in-k8s-json-schema | update-version |</text><text
class="breeze-static-checks-r5" x="1451.8" y="1362" textLength="12.2"
clip-path="url(#breeze-static-checks-line-55)"> [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1386.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-56)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1386.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-56)">validate-operators-init | yamllint)                               &
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1410.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-57)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1410.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-57)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1410.8" textLength="61"
clip-path="url(#breeze-static-checks-line-57)">-show</text><text
class="breeze-static-checks-r4" x="97.6" y="1410.8" textLength="195.2"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1435.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-58)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1435.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-58)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1435.2" textLength="134.2"
clip-path="url(#breeze-static-checks-line-58)">-initialize</text><text
class="breeze-static-checks-r4" x="170.8" y="1435.2" textLength="146.4" clip-p
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1459.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-59)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1459.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-59)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1459.6" textLength="48.8"
clip-path="url(#breeze-static-checks-line-59)">-max</text><text
class="breeze-static-checks-r4" x="85.4" y="1459.6" textLength="292.8"
clip-path="url( [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1484" textLength="12.2"
clip-path="url(#breeze-static-checks-line-60)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="1484" textLength="854"
clip-path="url(#breeze-static-checks-line-60)">(INTEGER RANGE)                                    &#
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1508.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-61)">│</text><text
class="breeze-static-checks-r5" x="451.4" y="1508.4" textLength="854"
clip-path="url(#breeze-static-checks-line-61)">[default: 3; 1<=x<=10]                                
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1532.8"
textLength="1464"
clip-path="url(#breeze-static-checks-line-62)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="1532.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-62)">
+</text><text class="breeze-static-checks-r5" x="0" y="1557.2"
textLength="24.4" clip-path="url(#breeze-static-checks-line-63)">╭─</text><text
class="breeze-static-checks-r5" x="24.4" y="1557.2" textLength="463.6"
clip-path="url(#breeze-static-checks-line-63)"> Selecting files to run the checks on </text><text
class="breeze-static-checks-r5" x="488" y="1557.2" textLength="951.6"
clip-path="url(#breeze-static-checks-line-63)">──────────────────────── [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1581.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-64)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1581.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-64)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1581.6" textLength="61"
clip-path="url(#breeze-static-checks-line-64)">-file</text><text
class="breeze-static-checks-r6" x="256.2" y="1581.6" textLength="24.4"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1606" textLength="12.2"
clip-path="url(#breeze-static-checks-line-65)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1606" textLength="12.2"
clip-path="url(#breeze-static-checks-line-65)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1606" textLength="48.8"
clip-path="url(#breeze-static-checks-line-65)">-all</text><text
class="breeze-static-checks-r4" x="85.4" y="1606" textLength="73.2"
clip-path="url(#breeze-s [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1630.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-66)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1630.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-66)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1630.4" textLength="85.4"
clip-path="url(#breeze-static-checks-line-66)">-commit</text><text
class="breeze-static-checks-r4" x="122" y="1630.4" textLength="48.8"
clip-path="url [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1654.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-67)">│</text><text
class="breeze-static-checks-r1" x="305" y="1654.8" textLength="183"
clip-path="url(#breeze-static-checks-line-67)">exclusive with </text><text
class="breeze-static-checks-r4" x="488" y="1654.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-67)">-</text><text
class="breeze-static-checks-r4" x="500.2" y="1654.8" textLength="61" [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1679.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-68)">│</text><text
class="breeze-static-checks-r7" x="305" y="1679.2" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-68)">(TEXT)                                      
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1703.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-69)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1703.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-69)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1703.6" textLength="61"
clip-path="url(#breeze-static-checks-line-69)">-last</text><text
class="breeze-static-checks-r4" x="97.6" y="1703.6" textLength="85.4"
clip-path="url(#b [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1728" textLength="12.2"
clip-path="url(#breeze-static-checks-line-70)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1728" textLength="12.2"
clip-path="url(#breeze-static-checks-line-70)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1728" textLength="61"
clip-path="url(#breeze-static-checks-line-70)">-only</text><text
class="breeze-static-checks-r4" x="97.6" y="1728" textLength="134.2"
clip-path="url(#breeze-s [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1752.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-71)">│</text><text
class="breeze-static-checks-r1" x="305" y="1752.4" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-71)">branch and HEAD of your branch.                             
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1776.8"
textLength="1464"
clip-path="url(#breeze-static-checks-line-72)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="1776.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-72)">
+</text><text class="breeze-static-checks-r5" x="0" y="1801.2"
textLength="24.4" clip-path="url(#breeze-static-checks-line-73)">╭─</text><text
class="breeze-static-checks-r5" x="24.4" y="1801.2" textLength="463.6"
clip-path="url(#breeze-static-checks-line-73)"> Building image before running checks </text><text
class="breeze-static-checks-r5" x="488" y="1801.2" textLength="951.6"
clip-path="url(#breeze-static-checks-line-73)">──────────────────────────────────
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1825.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-74)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1825.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-74)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1825.6" textLength="61"
clip-path="url(#breeze-static-checks-line-74)">-skip</text><text
class="breeze-static-checks-r4" x="97.6" y="1825.6" textLength="244"
clip-path="url(#br [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1850" textLength="12.2"
clip-path="url(#breeze-static-checks-line-75)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1850" textLength="12.2"
clip-path="url(#breeze-static-checks-line-75)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1850" textLength="73.2"
clip-path="url(#breeze-static-checks-line-75)">-force</text><text
class="breeze-static-checks-r4" x="109.8" y="1850" textLength="73.2"
clip-path="url(#breez [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1874.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-76)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1874.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-76)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1874.4" textLength="73.2"
clip-path="url(#breeze-static-checks-line-76)">-image</text><text
class="breeze-static-checks-r4" x="109.8" y="1874.4" textLength="48.8"
clip-path="ur [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1898.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-77)">│</text><text
class="breeze-static-checks-r7" x="414.8" y="1898.8" textLength="963.8"
clip-path="url(#breeze-static-checks-line-77)">(TEXT)                                     
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1923.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-78)">│</text><text
class="breeze-static-checks-r5" x="414.8" y="1923.2" textLength="963.8"
clip-path="url(#breeze-static-checks-line-78)">[default: latest]                                   
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1947.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-79)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1947.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-79)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1947.6" textLength="85.4"
clip-path="url(#breeze-static-checks-line-79)">-github</text><text
class="breeze-static-checks-r4" x="122" y="1947.6" textLength="134.2"
clip-path="ur [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1972" textLength="12.2"
clip-path="url(#breeze-static-checks-line-80)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="1972" textLength="12.2"
clip-path="url(#breeze-static-checks-line-80)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="1972" textLength="97.6"
clip-path="url(#breeze-static-checks-line-80)">-builder</text><text
class="breeze-static-checks-r1" x="414.8" y="1972" textLength="756.4"
clip-path="url(#br [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1996.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-81)">│</text><text
class="breeze-static-checks-r5" x="414.8" y="1996.4" textLength="756.4"
clip-path="url(#breeze-static-checks-line-81)">[default: autodetect]                                  &#
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="2020.8"
textLength="1464"
clip-path="url(#breeze-static-checks-line-82)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="2020.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-82)">
+</text><text class="breeze-static-checks-r5" x="0" y="2045.2"
textLength="24.4" clip-path="url(#breeze-static-checks-line-83)">╭─</text><text
class="breeze-static-checks-r5" x="24.4" y="2045.2" textLength="195.2"
clip-path="url(#breeze-static-checks-line-83)"> Common options </text><text
class="breeze-static-checks-r5" x="219.6" y="2045.2" textLength="1220"
clip-path="url(#breeze-static-checks-line-83)">──────────────────────────────────────────────────────────────────────
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="2069.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-84)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="2069.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-84)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="2069.6" textLength="48.8"
clip-path="url(#breeze-static-checks-line-84)">-dry</text><text
class="breeze-static-checks-r4" x="85.4" y="2069.6" textLength="48.8"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r5" x="0" y="2094" textLength="12.2"
clip-path="url(#breeze-static-checks-line-85)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="2094" textLength="12.2"
clip-path="url(#breeze-static-checks-line-85)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="2094" textLength="97.6"
clip-path="url(#breeze-static-checks-line-85)">-verbose</text><text
class="breeze-static-checks-r6" x="158.6" y="2094" textLength="24.4"
clip-path="url(#bre [...]
+</text><text class="breeze-static-checks-r5" x="0" y="2118.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-86)">│</text><text
class="breeze-static-checks-r4" x="24.4" y="2118.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-86)">-</text><text
class="breeze-static-checks-r4" x="36.6" y="2118.4" textLength="61"
clip-path="url(#breeze-static-checks-line-86)">-help</text><text
class="breeze-static-checks-r6" x="158.6" y="2118.4" textLength="24.4"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r5" x="0" y="2142.8"
textLength="1464"
clip-path="url(#breeze-static-checks-line-87)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r1" x="1464" y="2142.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-87)">
</text>
</g>
</g>
diff --git a/dev/breeze/doc/images/output_static-checks.txt
b/dev/breeze/doc/images/output_static-checks.txt
index 53bb9e5b46e..d109d39417a 100644
--- a/dev/breeze/doc/images/output_static-checks.txt
+++ b/dev/breeze/doc/images/output_static-checks.txt
@@ -1 +1 @@
-97228aa2e9cdff69f86a9c0dfee5f83e
+a109ca358651bbfcf3a36d007fd0646a
diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
index 70200d1ec6a..b0ceca5c4b2 100644
--- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
+++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
@@ -63,6 +63,7 @@ PRE_COMMIT_LIST = [
"check-lazy-logging",
"check-links-to-example-dags-do-not-use-hardcoded-versions",
"check-merge-conflict",
+ "check-min-python-version",
"check-newsfragments-are-valid",
"check-no-airflow-deprecation-in-providers",
"check-no-providers-in-core-examples",
diff --git a/scripts/ci/pre_commit/check_min_python_version.py
b/scripts/ci/pre_commit/check_min_python_version.py
new file mode 100755
index 00000000000..ac175eac50e
--- /dev/null
+++ b/scripts/ci/pre_commit/check_min_python_version.py
@@ -0,0 +1,68 @@
+#!/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 subprocess
+import sys
+from pathlib import Path
+
+sys.path.insert(0, str(Path(__file__).parent.resolve()))
+
+from common_precommit_utils import console
+
+# update this version when we switch to a newer version of Python
+required_version = tuple(map(int, "3.8".split(".")))
+required_version_str = f"{required_version[0]}.{required_version[1]}"
+global_version = tuple(
+ map(
+ int,
+ subprocess.run(
+ [
+ "python3",
+ "-c",
+ 'import sys;
print(f"{sys.version_info.major}.{sys.version_info.minor}")',
+ ],
+ capture_output=True,
+ text=True,
+ check=True,
+ )
+ .stdout.strip()
+ .split("."),
+ )
+)
+
+
+if global_version < required_version:
+ console.print(f"[red]Python {required_version_str} or higher is required
to install pre-commit.\n")
+ console.print(f"[green]Current version is {global_version}\n")
+ console.print(
+ "[bright_yellow]Please follow those steps:[/]\n\n"
+ f" * make sure that `python3 --version` is at least
{required_version_str}\n"
+ f" * run `pre-commit clean`\n"
+ f" * run `pre-commit install --install-hooks`\n\n"
+ )
+ console.print(
+ "There are various ways you can set `python3` to point to a newer
version of Python.\n\n"
+ f"For example run `pyenv global {required_version_str}` if you use
pyenv, or\n"
+ f"you can use venv with python {required_version_str} when you use
pre-commit, or\n"
+ "you can use `update-alternatives` if you use Ubuntu, or\n"
+ "you can set `PATH` to point to the newer version of Python.\n\n"
+ )
+ sys.exit(1)
+else:
+ console.print(f"Python version is sufficient: {required_version_str}")