This is an automated email from the ASF dual-hosted git repository. mobuchowski pushed a commit to branch aip-62/common-compat in repository https://gitbox.apache.org/repos/asf/airflow.git
commit d6afd268c0e2dea3be8b795383c22e5a15ac4e88 Author: Maciej Obuchowski <[email protected]> AuthorDate: Tue Jul 16 01:07:44 2024 +0200 openlineage: add method to common.compat to not force hooks to try/except every 2.10 hook lineage call Signed-off-by: Maciej Obuchowski <[email protected]> --- .pre-commit-config.yaml | 9 ++ .../providers/common/compat/lineage/__init__.py | 16 +++ airflow/providers/common/compat/lineage/hook.py | 41 ++++++ contributing-docs/08_static_code_checks.rst | 2 + dev/breeze/doc/images/output-commands.svg | 42 +++--- dev/breeze/doc/images/output_static-checks.svg | 144 +++++++++++---------- dev/breeze/doc/images/output_static-checks.txt | 2 +- dev/breeze/src/airflow_breeze/pre_commit_ids.py | 1 + dev/breeze/tests/test_selective_checks.py | 4 +- tests/providers/common/compat/test_hook.py | 24 ++++ 10 files changed, 191 insertions(+), 94 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 09e8f95c4d..0ff5abf906 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -675,6 +675,15 @@ repos: (?x) ^airflow/providers/.*\.py$ exclude: ^.*/.*_vendor/ + - id: check-get-lineage-collector-providers + language: pygrep + name: Check providers import hook lineage code from compat + description: Make sure you import from airflow.provider.common.compat.lineage.hook instead of + airflow.lineage.hook. + entry: "airflow\\.lineage\\.hook" + pass_filenames: true + files: ^airflow/providers/.*\.py$ + exclude: ^airflow/providers/common/compat/.*\.py$ - id: check-decorated-operator-implements-custom-name name: Check @task decorator implements custom_operator_name language: python diff --git a/airflow/providers/common/compat/lineage/__init__.py b/airflow/providers/common/compat/lineage/__init__.py new file mode 100644 index 0000000000..13a83393a9 --- /dev/null +++ b/airflow/providers/common/compat/lineage/__init__.py @@ -0,0 +1,16 @@ +# 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. diff --git a/airflow/providers/common/compat/lineage/hook.py b/airflow/providers/common/compat/lineage/hook.py new file mode 100644 index 0000000000..2115c992e7 --- /dev/null +++ b/airflow/providers/common/compat/lineage/hook.py @@ -0,0 +1,41 @@ +# 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 + + +def get_hook_lineage_collector(): + # HookLineageCollector added in 2.10 + try: + from airflow.lineage.hook import get_hook_lineage_collector + + return get_hook_lineage_collector() + except ImportError: + + class NoOpCollector: + """ + NoOpCollector is a hook lineage collector that does nothing. + + It is used when you want to disable lineage collection. + """ + + def add_input_dataset(self, *_): + pass + + def add_output_dataset(self, *_): + pass + + return NoOpCollector() diff --git a/contributing-docs/08_static_code_checks.rst b/contributing-docs/08_static_code_checks.rst index 125257f64d..0b8e5e6cd4 100644 --- a/contributing-docs/08_static_code_checks.rst +++ b/contributing-docs/08_static_code_checks.rst @@ -174,6 +174,8 @@ require Breeze Docker image to be built locally. +-----------------------------------------------------------+--------------------------------------------------------------+---------+ | check-for-inclusive-language | Check for language that we do not accept as community | | +-----------------------------------------------------------+--------------------------------------------------------------+---------+ +| check-get-lineage-collector-providers | Check providers import hook lineage code from compat | | ++-----------------------------------------------------------+--------------------------------------------------------------+---------+ | check-google-re2-as-dependency | Check google-re2 is declared as dependency when needed | | +-----------------------------------------------------------+--------------------------------------------------------------+---------+ | check-hatch-build-order | Check order of dependencies in hatch_build.py | | diff --git a/dev/breeze/doc/images/output-commands.svg b/dev/breeze/doc/images/output-commands.svg index 08d3dc2a13..5888d1fc86 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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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 e0e4c7a29e..32d75da56f 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 2148.4" xmlns="http://www.w3.org/2000/svg"> +<svg class="rich-terminal" viewBox="0 0 1482 2172.7999999999997" 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="2097.4" /> + <rect x="0" y="0" width="1463.0" height="2121.7999999999997" /> </clipPath> <clipPath id="breeze-static-checks-line-0"> <rect x="0" y="1.5" width="1464" height="24.65"/> @@ -300,9 +300,12 @@ <clipPath id="breeze-static-checks-line-84"> <rect x="0" y="2051.1" width="1464" height="24.65"/> </clipPath> +<clipPath id="breeze-static-checks-line-85"> + <rect x="0" y="2075.5" width="1464" height="24.65"/> + </clipPath> </defs> - <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="2146.4" 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="2170.8" 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"/> @@ -318,7 +321,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="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="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="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=" [...] @@ -332,72 +335,73 @@ </text><text class="breeze-static-checks-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-17)">│</text><text class="breeze-static-checks-r7" x="451.4" y="434.8" textLength="988.2" clip-path="url(#breeze-static-checks-line-17)">| check-docstring-param-types | check-example-dags-urls |                        </text><text [...] </text><text class="breeze-static-checks-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-static-checks-line-18)">│</text><text class="breeze-static-checks-r7" x="451.4" y="459.2" textLength="988.2" clip-path="url(#breeze-static-checks-line-18)">check-executables-have-shebangs | check-extra-packages-references |              </text><text class="breeze-static-checks-r5" x="1451.8" y="459.2" te [...] </text><text class="breeze-static-checks-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-static-checks-line-19)">│</text><text class="breeze-static-checks-r7" x="451.4" y="483.6" textLength="988.2" clip-path="url(#breeze-static-checks-line-19)">check-extras-order | check-fab-migrations | check-for-inclusive-language |       </text><text class="breeze-static-checks-r5" x="1451.8" y="483.6" textLength="12.2" clip-path [...] -</text><text class="breeze-static-checks-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-static-checks-line-20)">│</text><text class="breeze-static-checks-r7" x="451.4" y="508" textLength="988.2" clip-path="url(#breeze-static-checks-line-20)">check-google-re2-as-dependency | check-hatch-build-order | check-hooks-apply |   </text><text class="breeze-static-checks-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-static-check [...] -</text><text class="breeze-static-checks-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-static-checks-line-21)">│</text><text class="breeze-static-checks-r7" x="451.4" y="532.4" textLength="988.2" clip-path="url(#breeze-static-checks-line-21)">check-incorrect-use-of-LoggingMixin | check-init-decorator-arguments |           </text><text class="breeze-static-checks-r5" x="1451.8" y="532.4" textLength="12.2" [...] -</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-integrations-list-consistent | check-lazy-logging |                        </text><text class [...] -</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-links-to-example-dags-do-not-use-hardcoded-versions | check-merge-conflict </text><text class="breeze-static-checks-r5" x="1451.8" y="581.2" textLength="12.2" clip-path="url(#breeze-static-checks-line-23)">│</text [...] -</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-newsfragments-are-valid | check-no-airflow-deprecation-in-providers |    </text><text class="breeze-static-checks-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#breeze-static [...] -</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-no-providers-in-core-examples | check-only-new-session-with-provide-session</text><text class="breeze-static-checks-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-static-checks-line-25)">│</text><text clas [...] -</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-persist-credentials-disabled-in-github-workflows |                       </text><text class="breeze-s [...] -</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-pre-commit-information-consistent | check-provide-create-sessions-imports |</text><text class="breeze-static-checks-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-27)">│</text [...] -</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-provider-docs-valid | check-provider-yaml-valid |                          </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-providers-init-file-missing | check-providers-subpackages-init-file-exist |</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-pydevd-left-in-code | check-revision-heads-map |                           </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-safe-filter-usage-in-html | check-sql-dependency-common-data-structure |   </text><text class="breeze-static-checks-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-static-checks-li [...] -</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-start-date-not-used-in-defaults | check-system-tests-present |             </text><text class="breeze-static-checks-r5" x="1451.8" y="800.8" textLen [...] -</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-system-tests-tocs | check-template-context-variable-in-sync |              </text><text class="breeze-static-checks-r5" x="1451.8" y="825.2" te [...] -</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-tests-in-the-right-folders | check-tests-unittest-testcase |               </text><text class="breeze-static-checks-r5" x="1451.8" y="849. [...] -</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-urlparse-usage-in-code | check-usage-of-re2-over-re | check-xml | codespell</text><text class="breeze-static-checks-r5" x="1451.8" y="874" textLength="12.2" clip-path="url(#breeze-static-checks-line-35) [...] -</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)">| compile-www-assets | compile-www-assets-dev |                             [...] -</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)">create-missing-init-py-files-tests | debug-statements | detect-private-key |     </text><text class="breeze-static-checks-r5" x="1451.8" y="922.8" textLength="12.2" clip-path="url(#bre [...] -</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)">doctoc | end-of-file-fixer | fix-encoding-pragma | flynt |                       </t [...] -</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)">generate-airflow-diagrams | generate-pypi-readme | identity | insert-license |   </text><text class="breeze-static-checks-r5" x="1451.8" y="971.6" textLength="12.2" clip-path="url(#bre [...] -</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)">kubeconform | lint-chart-schema | lint-css | lint-dockerfile | lint-helm-chart | </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)">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="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)">mypy-airflow | mypy-dev | mypy-docs | mypy-providers | pretty-format-json |      </text><text class="breeze-static-checks-r5" x="1451.8" y="1044.8" textLengt [...] -</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)">pylint | python-no-log-warn | replace-bad-characters | rst-backticks | ruff |    </text><text class="breeze-static-checks-r5" x="1451.8" y="1069.2" textLength="12.2" c [...] -</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)">ruff-format | shellcheck | trailing-whitespace | ts-compile-format-lint-www |    </text><text class="breeze-static-checks-r5" x="1451.8" y="1093.6" textLength="12.2" clip-path=" [...] -</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)">update-black-version | update-breeze-cmd-output |                             [...] -</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-breeze-readme-config-hash | update-build-dependencies |                   </text><text class="breeze-static-checks- [...] -</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-chart-dependencies | update-common-sql-api-stubs | update-er-diagram |    </text><text class="breeze-static-checks-r5" x="1451.8" y="1166.8" textLength="12.2" clip-path="url(#breez [...] -</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-extras | update-in-the-wild-to-be-sorted |                             [...] -</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-inlined-dockerfile-scripts | update-installed-providers-to-be-sorted |    </text><text class="breeze-static-checks-r5" x="1451.8" y="1215.6" textLength="12.2" clip-path="url(#breeze-static-c [...] -</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-installers | update-local-yml-file | update-migration-references |        </text><text class="breeze-static-checks-r5" x="1451.8" y="1240" textLength="12.2" clip-pa [...] -</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-openapi-spec-tags-to-be-sorted | update-providers-dependencies |          </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-reproducible-source-date-epoch | update-spelling-wordlist-to-be-sorted |  </text><text class="breeze-static-checks-r5" x="1451.8" y="1288.8" textLength="12.2" clip-path="url(#breeze-static-checks-line [...] -</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-supported-versions | update-vendored-in-k8s-json-schema | update-version |</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)">validate-operators-init | yamllint)                               & [...] -</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-r4" x="24.4" y="1362" textLength="12.2" clip-path="url(#breeze-static-checks-line-55)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1362" textLength="61" clip-path="url(#breeze-static-checks-line-55)">-show</text><text class="breeze-static-checks-r4" x="97.6" y="1362" textLength="195.2" clip-path="url(#breeze-s [...] -</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="12.2" clip-path="url(#breeze-static-checks-line-56)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1386.4" textLength="134.2" clip-path="url(#breeze-static-checks-line-56)">-initialize</text><text class="breeze-static-checks-r4" x="170.8" y="1386.4" textLength="146.4" clip-p [...] -</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="48.8" clip-path="url(#breeze-static-checks-line-57)">-max</text><text class="breeze-static-checks-r4" x="85.4" y="1410.8" textLength="292.8" 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-r7" x="451.4" y="1435.2" textLength="854" clip-path="url(#breeze-static-checks-line-58)">(INTEGER RANGE)                                    [...] -</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-r5" x="451.4" y="1459.6" textLength="854" clip-path="url(#breeze-static-checks-line-59)">[default: 3; 1<=x<=10]                                 [...] -</text><text class="breeze-static-checks-r5" x="0" y="1484" textLength="1464" clip-path="url(#breeze-static-checks-line-60)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-static-checks-r1" x="1464" y="1484" textLength="12.2" clip-path="url(#breeze-static-checks-line-60)"> -</text><text class="breeze-static-checks-r5" x="0" y="1508.4" textLength="24.4" clip-path="url(#breeze-static-checks-line-61)">╭─</text><text class="breeze-static-checks-r5" x="24.4" y="1508.4" textLength="463.6" clip-path="url(#breeze-static-checks-line-61)"> Selecting files to run the checks on </text><text class="breeze-static-checks-r5" x="488" y="1508.4" textLength="951.6" clip-path="url(#breeze-static-checks-line-61)">──────────────────────── [...] -</text><text class="breeze-static-checks-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-62)">│</text><text class="breeze-static-checks-r4" x="24.4" y="1532.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-62)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1532.8" textLength="61" clip-path="url(#breeze-static-checks-line-62)">-file</text><text class="breeze-static-checks-r6" x="256.2" y="1532.8" textLength="24.4" clip-path="url(# [...] -</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="12.2" clip-path="url(#breeze-static-checks-line-63)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1557.2" textLength="48.8" clip-path="url(#breeze-static-checks-line-63)">-all</text><text class="breeze-static-checks-r4" x="85.4" y="1557.2" textLength="73.2" 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="12.2" clip-path="url(#breeze-static-checks-line-64)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1581.6" textLength="85.4" clip-path="url(#breeze-static-checks-line-64)">-commit</text><text class="breeze-static-checks-r4" x="122" y="1581.6" textLength="48.8" 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-r1" x="305" y="1606" textLength="183" clip-path="url(#breeze-static-checks-line-65)">exclusive with </text><text class="breeze-static-checks-r4" x="488" y="1606" textLength="12.2" clip-path="url(#breeze-static-checks-line-65)">-</text><text class="breeze-static-checks-r4" x="500.2" y="1606" textLength="61" clip-pa [...] -</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-r7" x="305" y="1630.4" textLength="1134.6" clip-path="url(#breeze-static-checks-line-66)">(TEXT)                                       [...] -</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-r4" x="24.4" y="1654.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-67)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1654.8" textLength="61" clip-path="url(#breeze-static-checks-line-67)">-last</text><text class="breeze-static-checks-r4" x="97.6" y="1654.8" textLength="85.4" clip-path="url(#b [...] -</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="12.2" clip-path="url(#breeze-static-checks-line-68)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1679.2" textLength="61" clip-path="url(#breeze-static-checks-line-68)">-only</text><text class="breeze-static-checks-r4" x="97.6" y="1679.2" textLength="134.2" clip-path="url(# [...] -</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-r1" x="305" y="1703.6" textLength="1134.6" clip-path="url(#breeze-static-checks-line-69)">branch and HEAD of your branch.                              [...] -</text><text class="breeze-static-checks-r5" x="0" y="1728" textLength="1464" clip-path="url(#breeze-static-checks-line-70)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-static-checks-r1" x="1464" y="1728" textLength="12.2" clip-path="url(#breeze-static-checks-line-70)"> -</text><text class="breeze-static-checks-r5" x="0" y="1752.4" textLength="24.4" clip-path="url(#breeze-static-checks-line-71)">╭─</text><text class="breeze-static-checks-r5" x="24.4" y="1752.4" textLength="463.6" clip-path="url(#breeze-static-checks-line-71)"> Building image before running checks </text><text class="breeze-static-checks-r5" x="488" y="1752.4" textLength="951.6" clip-path="url(#breeze-static-checks-line-71)">────────────────────────────────── [...] -</text><text class="breeze-static-checks-r5" x="0" y="1776.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-72)">│</text><text class="breeze-static-checks-r4" x="24.4" y="1776.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-72)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1776.8" textLength="61" clip-path="url(#breeze-static-checks-line-72)">-skip</text><text class="breeze-static-checks-r4" x="97.6" y="1776.8" textLength="244" clip-path="url(#br [...] -</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="12.2" clip-path="url(#breeze-static-checks-line-73)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1801.2" textLength="73.2" clip-path="url(#breeze-static-checks-line-73)">-force</text><text class="breeze-static-checks-r4" x="109.8" y="1801.2" textLength="73.2" clip-path="ur [...] -</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="73.2" clip-path="url(#breeze-static-checks-line-74)">-image</text><text class="breeze-static-checks-r4" x="109.8" y="1825.6" textLength="48.8" clip-path="ur [...] -</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-r7" x="414.8" y="1850" textLength="963.8" clip-path="url(#breeze-static-checks-line-75)">(TEXT)                                      &# [...] -</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-r5" x="414.8" y="1874.4" textLength="963.8" clip-path="url(#breeze-static-checks-line-76)">[default: latest]                                    [...] -</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-r4" x="24.4" y="1898.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-77)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1898.8" textLength="85.4" clip-path="url(#breeze-static-checks-line-77)">-github</text><text class="breeze-static-checks-r4" x="122" y="1898.8" textLength="134.2" clip-path="ur [...] -</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="12.2" clip-path="url(#breeze-static-checks-line-78)">-</text><text class="breeze-static-checks-r4" x="36.6" y="1923.2" textLength="97.6" clip-path="url(#breeze-static-checks-line-78)">-builder</text><text class="breeze-static-checks-r1" x="414.8" y="1923.2" textLength="756.4" clip-path= [...] -</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-r5" x="414.8" y="1947.6" textLength="756.4" clip-path="url(#breeze-static-checks-line-79)">[default: autodetect]                                  &# [...] -</text><text class="breeze-static-checks-r5" x="0" y="1972" textLength="1464" clip-path="url(#breeze-static-checks-line-80)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-static-checks-r1" x="1464" y="1972" textLength="12.2" clip-path="url(#breeze-static-checks-line-80)"> -</text><text class="breeze-static-checks-r5" x="0" y="1996.4" textLength="24.4" clip-path="url(#breeze-static-checks-line-81)">╭─</text><text class="breeze-static-checks-r5" x="24.4" y="1996.4" textLength="195.2" clip-path="url(#breeze-static-checks-line-81)"> Common options </text><text class="breeze-static-checks-r5" x="219.6" y="1996.4" textLength="1220" clip-path="url(#breeze-static-checks-line-81)">────────────────────────────────────────────────────────────────────── [...] -</text><text class="breeze-static-checks-r5" x="0" y="2020.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-82)">│</text><text class="breeze-static-checks-r4" x="24.4" y="2020.8" textLength="12.2" clip-path="url(#breeze-static-checks-line-82)">-</text><text class="breeze-static-checks-r4" x="36.6" y="2020.8" textLength="48.8" clip-path="url(#breeze-static-checks-line-82)">-dry</text><text class="breeze-static-checks-r4" x="85.4" y="2020.8" textLength="48.8" clip-path="url(# [...] -</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="12.2" clip-path="url(#breeze-static-checks-line-83)">-</text><text class="breeze-static-checks-r4" x="36.6" y="2045.2" textLength="97.6" clip-path="url(#breeze-static-checks-line-83)">-verbose</text><text class="breeze-static-checks-r6" x="158.6" y="2045.2" textLength="24.4" clip-path=" [...] -</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="61" clip-path="url(#breeze-static-checks-line-84)">-help</text><text class="breeze-static-checks-r6" x="158.6" y="2069.6" textLength="24.4" clip-path="url(# [...] -</text><text class="breeze-static-checks-r5" x="0" y="2094" textLength="1464" clip-path="url(#breeze-static-checks-line-85)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-static-checks-r1" x="1464" y="2094" textLength="12.2" clip-path="url(#breeze-static-checks-line-85)"> +</text><text class="breeze-static-checks-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-static-checks-line-20)">│</text><text class="breeze-static-checks-r7" x="451.4" y="508" textLength="988.2" clip-path="url(#breeze-static-checks-line-20)">check-get-lineage-collector-providers | check-google-re2-as-dependency |         </text><text class="breeze-static-checks-r5" x="1451.8" y="508" textLength="12.2" clip-path="url( [...] +</text><text class="breeze-static-checks-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-static-checks-line-21)">│</text><text class="breeze-static-checks-r7" x="451.4" y="532.4" textLength="988.2" clip-path="url(#breeze-static-checks-line-21)">check-hatch-build-order | check-hooks-apply | check-incorrect-use-of-LoggingMixin</text><text class="breeze-static-checks-r5" x="1451.8" y="532.4" textLength="12.2" clip-path="url(#breeze-static-checks-line-21)">│< [...] +</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-init-decorator-arguments | check-integrations-list-consistent |          </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-lazy-logging | check-links-to-example-dags-do-not-use-hardcoded-versions | </text><text class="breeze-static-checks-r5" x="1451.8" y="581.2" textLength="12.2" clip-path="url(#breeze-static-checks-line-23)">│< [...] +</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-merge-conflict | check-newsfragments-are-valid |                           </t [...] +</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-no-airflow-deprecation-in-providers | check-no-providers-in-core-examples |</text><text class="breeze-static-checks-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-static-checks-line-25)">│</text><text [...] +</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-only-new-session-with-provide-session |                               [...] +</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="bre [...] +</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-template-context-variable-in-sync |              </text><text class="breeze-static-checks-r5" x="1451.8" y="849.6" te [...] +</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-tests-in-the-right-folders | check-tests-unittest-testcase |               </text><text class="breeze-static-checks-r5" x="1451.8" y="874" tex [...] +</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-urlparse-usage-in-code | check-usage-of-re2-over-re | check-xml | codespell</text><text class="breeze-static-checks-r5" x="1451.8" y="898.4" textLength="12.2" clip-path="url(#breeze-static-checks-li [...] +</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)">| compile-www-assets | compile-www-assets-dev |                             [...] +</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)">create-missing-init-py-files-tests | debug-statements | detect-private-key |     </text><text class="breeze-static-checks-r5" x="1451.8" y="947.2" textLength="12.2" clip-path="url(#bre [...] +</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)">doctoc | end-of-file-fixer | fix-encoding-pragma | flynt |                       </t [...] +</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> </g> </g> diff --git a/dev/breeze/doc/images/output_static-checks.txt b/dev/breeze/doc/images/output_static-checks.txt index 0a484fbe70..cd2dce871a 100644 --- a/dev/breeze/doc/images/output_static-checks.txt +++ b/dev/breeze/doc/images/output_static-checks.txt @@ -1 +1 @@ -7b121e6337aeb2242ab88b8f51ae1907 +9381c6120248c8e22bd10d9f882ef667 diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py b/dev/breeze/src/airflow_breeze/pre_commit_ids.py index b31340be78..4d699a02de 100644 --- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py +++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py @@ -52,6 +52,7 @@ PRE_COMMIT_LIST = [ "check-extras-order", "check-fab-migrations", "check-for-inclusive-language", + "check-get-lineage-collector-providers", "check-google-re2-as-dependency", "check-hatch-build-order", "check-hooks-apply", diff --git a/dev/breeze/tests/test_selective_checks.py b/dev/breeze/tests/test_selective_checks.py index 513edeff5f..45e8a23b4a 100644 --- a/dev/breeze/tests/test_selective_checks.py +++ b/dev/breeze/tests/test_selective_checks.py @@ -535,7 +535,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str): "upgrade-to-newer-dependencies": "false", "run-amazon-tests": "true", "parallel-test-types-list-as-string": "Always Providers[amazon] " - "Providers[apache.hive,cncf.kubernetes,common.sql,exasol,ftp,http," + "Providers[apache.hive,cncf.kubernetes,common.compat,common.sql,exasol,ftp,http," "imap,microsoft.azure,mongo,mysql,openlineage,postgres,salesforce,ssh,teradata] Providers[google]", "needs-mypy": "true", "mypy-folders": "['providers']", @@ -585,7 +585,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str): "run-kubernetes-tests": "false", "upgrade-to-newer-dependencies": "false", "parallel-test-types-list-as-string": "Always Providers[amazon] " - "Providers[apache.hive,cncf.kubernetes,common.sql,exasol,ftp,http," + "Providers[apache.hive,cncf.kubernetes,common.compat,common.sql,exasol,ftp,http," "imap,microsoft.azure,mongo,mysql,openlineage,postgres,salesforce,ssh,teradata] Providers[google]", "needs-mypy": "true", "mypy-folders": "['providers']", diff --git a/tests/providers/common/compat/test_hook.py b/tests/providers/common/compat/test_hook.py new file mode 100644 index 0000000000..1fd88405bc --- /dev/null +++ b/tests/providers/common/compat/test_hook.py @@ -0,0 +1,24 @@ +# 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 + +from airflow.providers.common.compat.lineage.hook import get_hook_lineage_collector + + +def test_that_compat_does_not_raise(): + # On compat tests this goes into ImportError code path + assert get_hook_lineage_collector() is not None
