This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new c7e6914226 Add check if google-re2 is declared as dependency (#33240)
c7e6914226 is described below
commit c7e6914226146404b46d38869f9e207965a42946
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Aug 9 02:46:37 2023 +0200
Add check if google-re2 is declared as dependency (#33240)
For providers that are using google-re2 it should be declared as
dependency. Follow up after #33237
---
.pre-commit-config.yaml | 8 ++
STATIC_CODE_CHECKS.rst | 2 +
dev/breeze/src/airflow_breeze/pre_commit_ids.py | 1 +
images/breeze/output-commands-hash.txt | 2 +-
images/breeze/output_static-checks.svg | 126 +++++++++++----------
.../pre_commit_check_google_re2_imports.py | 93 +++++++++++++++
6 files changed, 170 insertions(+), 62 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 4ecfebb09c..a45e832b21 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -364,6 +364,14 @@ repos:
pass_filenames: true
files: ^airflow/providers/.*\.py$
additional_dependencies: ['rich>=12.4.4']
+ - id: check-google-re2-as-dependency
+ name: Check google-re2 is declared as dependency when needed
+ entry: ./scripts/ci/pre_commit/pre_commit_check_google_re2_imports.py
+ language: python
+ pass_filenames: true
+ require_serial: true
+ files: ^airflow/providers/.*\.py$
+ additional_dependencies: ['rich>=12.4.4']
- id: update-local-yml-file
name: Update mounts in the local yml file
entry: ./scripts/ci/pre_commit/pre_commit_local_yml_mounts.py
diff --git a/STATIC_CODE_CHECKS.rst b/STATIC_CODE_CHECKS.rst
index bdb77e5c83..9b5d1d8df7 100644
--- a/STATIC_CODE_CHECKS.rst
+++ b/STATIC_CODE_CHECKS.rst
@@ -187,6 +187,8 @@ require Breeze Docker image to be built locally.
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
| check-for-inclusive-language | Check for
language that we do not accept as community | |
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
+| check-google-re2-as-dependency | Check google-re2
is declared as dependency when needed | |
++-----------------------------------------------------------+--------------------------------------------------------------+---------+
| check-hooks-apply | Check if all
hooks apply to the repository | |
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
| check-incorrect-use-of-LoggingMixin | Make sure
LoggingMixin is not used alone | |
diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
index 019058eeff..79e0cecba8 100644
--- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
+++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
@@ -47,6 +47,7 @@ PRE_COMMIT_LIST = [
"check-extra-packages-references",
"check-extras-order",
"check-for-inclusive-language",
+ "check-google-re2-as-dependency",
"check-hooks-apply",
"check-incorrect-use-of-LoggingMixin",
"check-init-decorator-arguments",
diff --git a/images/breeze/output-commands-hash.txt
b/images/breeze/output-commands-hash.txt
index df67b3627b..684743874d 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -62,7 +62,7 @@ setup:version:be116d90a21c2afe01087f7609774e1e
setup:cdf58a9c27af2877dc5a658ed0a1d99c
shell:87e7bdcebe1180395adfec86b2a065f5
start-airflow:f7216a8126ecf14b033e2ea677e1a105
-static-checks:a6b76083afc49c0c80270facd5236b42
+static-checks:5ded21248cd4f5617779f58ecf6c554c
testing:docker-compose-tests:0c810047fc66a0cfe91119e2d08b3507
testing:helm-tests:8e491da2e01ebd815322c37562059d77
testing:integration-tests:486e4d91449ecdb7630ef2a470d705a3
diff --git a/images/breeze/output_static-checks.svg
b/images/breeze/output_static-checks.svg
index 083d5f6681..683622338a 100644
--- a/images/breeze/output_static-checks.svg
+++ b/images/breeze/output_static-checks.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1880.0"
xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1904.3999999999999"
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="1829.0" />
+ <rect x="0" y="0" width="1463.0" height="1853.3999999999999" />
</clipPath>
<clipPath id="breeze-static-checks-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -267,9 +267,12 @@
<clipPath id="breeze-static-checks-line-73">
<rect x="0" y="1782.7" width="1464" height="24.65"/>
</clipPath>
+<clipPath id="breeze-static-checks-line-74">
+ <rect x="0" y="1807.1" 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="1878" 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="1902.4" 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"/>
@@ -296,64 +299,65 @@
</text><text class="breeze-static-checks-r4" x="0" y="361.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-14)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="361.6" textLength="988.2"
clip-path="url(#breeze-static-checks-line-14)">check-decorated-operator-implements-custom-name | check-deferrable-default-value </text><text
class="breeze-static-checks-r4" x="1451.8" y="361.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-14)">│</text [...]
</text><text class="breeze-static-checks-r4" x="0" y="386" textLength="12.2"
clip-path="url(#breeze-static-checks-line-15)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="386" textLength="988.2"
clip-path="url(#breeze-static-checks-line-15)">| check-docstring-param-types | check-example-dags-urls |                        </text><text
clas [...]
</text><text class="breeze-static-checks-r4" x="0" y="410.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-16)">│</text><text
class="breeze-static-checks-r7" x="451.4" y="410.4" textLength="988.2"
clip-path="url(#breeze-static-checks-line-16)">check-executables-have-shebangs | check-extra-packages-references |              </text><text
class="breeze-static-checks-r4" x="1451.8" y="410.4" te [...]
-</text><text class="breeze-static-checks-r4" 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-extras-order | check-for-inclusive-language | check-hooks-apply |          </text><text
class="breeze-static-checks-r4" x="1451.8" y="434.8" textLength=" [...]
-</text><text class="breeze-static-checks-r4" 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-incorrect-use-of-LoggingMixin | check-init-decorator-arguments |           </text><text
class="breeze-static-checks-r4" x="1451.8" y="459.2" textLength="12.2" [...]
-</text><text class="breeze-static-checks-r4" 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-lazy-logging | check-links-to-example-dags-do-not-use-hardcoded-versions | </text><text
class="breeze-static-checks-r4" x="1451.8" y="483.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-19)">│< [...]
-</text><text class="breeze-static-checks-r4" 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-merge-conflict | check-newsfragments-are-valid |                           </text>
[...]
-</text><text class="breeze-static-checks-r4" 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-no-airflow-deprecation-in-providers | check-no-providers-in-core-examples |</text><text
class="breeze-static-checks-r4" x="1451.8" y="532.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-21)">│</text [...]
-</text><text class="breeze-static-checks-r4" 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-no-relative-imports | check-only-new-session-with-provide-session |        </text><text
class="breeze-static-checks-r4" x="1451.8" y="556.8" textLength="12.2"
clip-path="url [...]
-</text><text class="breeze-static-checks-r4" 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-persist-credentials-disabled-in-github-workflows |                         </text><text
class="bre [...]
-</text><text class="breeze-static-checks-r4" 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-pre-commit-information-consistent | check-provide-create-sessions-imports |</text><text
class="breeze-static-checks-r4" x="1451.8" y="605.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-24)">│</text [...]
-</text><text class="breeze-static-checks-r4" 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-provider-yaml-valid | check-providers-init-file-missing |                  </text><text
class="breeze-static-checks-r4" x="1451 [...]
-</text><text class="breeze-static-checks-r4" 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-providers-subpackages-init-file-exist | check-pydevd-left-in-code |        </text><text
class="breeze-static-checks-r4" x="1451.8" y="654.4" textLength="12.2"
clip-path="url [...]
-</text><text class="breeze-static-checks-r4" 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-revision-heads-map | check-safe-filter-usage-in-html | check-setup-order | </text><text
class="breeze-static-checks-r4" x="1451.8" y="678.8" textLength="12.2"
clip-path="url(#breeze-static-checks-li [...]
-</text><text class="breeze-static-checks-r4" 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-start-date-not-used-in-defaults | check-system-tests-present |             </text><text
class="breeze-static-checks-r4" x="1451.8" y="703.2" textLen [...]
-</text><text class="breeze-static-checks-r4" 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-system-tests-tocs | check-tests-unittest-testcase |                        </text><text
class [...]
-</text><text class="breeze-static-checks-r4" 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-urlparse-usage-in-code | check-usage-of-re2-over-re | check-xml | codespell</text><text
class="breeze-static-checks-r4" x="1451.8" y="752" textLength="12.2"
clip-path="url(#breeze-static-checks-line-30) [...]
-</text><text class="breeze-static-checks-r4" 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)">| compile-www-assets | compile-www-assets-dev |                            
[...]
-</text><text class="breeze-static-checks-r4" 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)">create-missing-init-py-files-tests | debug-statements | detect-private-key |     </text><text
class="breeze-static-checks-r4" x="1451.8" y="800.8" textLength="12.2"
clip-path="url(#bre [...]
-</text><text class="breeze-static-checks-r4" 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)">doctoc | end-of-file-fixer | fix-encoding-pragma | flynt | identity |            </text><text
class="breeze-static-checks-r4" x=" [...]
-</text><text class="breeze-static-checks-r4" 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)">insert-license | lint-chart-schema | lint-css | lint-dockerfile | lint-helm-chart</text><text
class="breeze-static-checks-r4" x="1451.8" y="849.6" textLength="12.2"
clip-path="url(#breeze-static [...]
-</text><text class="breeze-static-checks-r4" 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)">| lint-json-schema | lint-markdown | lint-openapi | mixed-line-ending | mypy-core</text><text
class="breeze-static-checks-r4" x="1451.8" y="874" textLength="12.2"
clip-path="url(#breeze-static- [...]
-</text><text class="breeze-static-checks-r4" 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)">| mypy-dev | mypy-docs | mypy-providers | pretty-format-json | python-no-log-warn</text><text
class="breeze-static-checks-r4" x="1451.8" y="898.4" textLength="12.2"
clip-path="url(#breeze-s [...]
-</text><text class="breeze-static-checks-r4" 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)">| replace-bad-characters | rst-backticks | ruff | shellcheck |                   </text><text
class [...]
-</text><text class="breeze-static-checks-r4" 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)">trailing-whitespace | ts-compile-format-lint-www | update-black-version |        </text><text
class="breeze-static-checks-r4" x="1451.8" y="947.2" textLength="12.2" clip
[...]
-</text><text class="breeze-static-checks-r4" 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)">update-breeze-cmd-output | update-breeze-readme-config-hash |                    </text><text
class="breeze-static-chec [...]
-</text><text class="breeze-static-checks-r4" 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)">update-common-sql-api-stubs | update-er-diagram | update-extras |                </text><text
class="breeze-static-checks-r4" x="1451 [...]
-</text><text class="breeze-static-checks-r4" 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)">update-in-the-wild-to-be-sorted | update-inlined-dockerfile-scripts |            </text><text
class="breeze-static-checks-r4" x="1451.8" y="1020.4" textLengt [...]
-</text><text class="breeze-static-checks-r4" 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)">update-installed-providers-to-be-sorted | update-local-yml-file |                </text><text
class="breeze-static-checks-r4" x="1451.8" [...]
-</text><text class="breeze-static-checks-r4" 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)">update-migration-references | update-providers-dependencies |                    </text><text
class="breeze-static-ch [...]
-</text><text class="breeze-static-checks-r4" 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)">update-spelling-wordlist-to-be-sorted | update-supported-versions |              </text><text
class="breeze-static-checks-r4" x="1451.8" y="1093.6" [...]
-</text><text class="breeze-static-checks-r4" 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-vendored-in-k8s-json-schema | update-version | yamllint)                  </text><text
class="breeze-static-checks-r4" [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1142.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-46)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1142.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-46)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1142.4" textLength="61"
clip-path="url(#breeze-static-checks-line-46)">-show</text><text
class="breeze-static-checks-r5" x="97.6" y="1142.4" textLength="195.2"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1166.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-47)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1166.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-47)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1166.8" textLength="134.2"
clip-path="url(#breeze-static-checks-line-47)">-initialize</text><text
class="breeze-static-checks-r5" x="170.8" y="1166.8" textLength="146.4" clip-p
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1191.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-48)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1191.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-48)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1191.2" textLength="48.8"
clip-path="url(#breeze-static-checks-line-48)">-max</text><text
class="breeze-static-checks-r5" x="85.4" y="1191.2" textLength="292.8"
clip-path="url( [...]
-</text><text class="breeze-static-checks-r4" 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="854"
clip-path="url(#breeze-static-checks-line-49)">(INTEGER RANGE)                                   
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1240" textLength="12.2"
clip-path="url(#breeze-static-checks-line-50)">│</text><text
class="breeze-static-checks-r4" x="451.4" y="1240" textLength="854"
clip-path="url(#breeze-static-checks-line-50)">[default: 3; 1<=x<=10]                                 &#
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1264.4"
textLength="1464"
clip-path="url(#breeze-static-checks-line-51)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1264.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-51)">
-</text><text class="breeze-static-checks-r4" x="0" y="1288.8"
textLength="24.4" clip-path="url(#breeze-static-checks-line-52)">╭─</text><text
class="breeze-static-checks-r4" x="24.4" y="1288.8" textLength="463.6"
clip-path="url(#breeze-static-checks-line-52)"> Selecting files to run the checks on </text><text
class="breeze-static-checks-r4" x="488" y="1288.8" textLength="951.6"
clip-path="url(#breeze-static-checks-line-52)">──────────────────────── [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1313.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-53)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1313.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-53)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1313.2" textLength="61"
clip-path="url(#breeze-static-checks-line-53)">-file</text><text
class="breeze-static-checks-r6" x="256.2" y="1313.2" textLength="24.4"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1337.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-54)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1337.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-54)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1337.6" textLength="48.8"
clip-path="url(#breeze-static-checks-line-54)">-all</text><text
class="breeze-static-checks-r5" x="85.4" y="1337.6" textLength="73.2"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1362" textLength="12.2"
clip-path="url(#breeze-static-checks-line-55)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1362" textLength="12.2"
clip-path="url(#breeze-static-checks-line-55)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1362" textLength="85.4"
clip-path="url(#breeze-static-checks-line-55)">-commit</text><text
class="breeze-static-checks-r5" x="122" y="1362" textLength="48.8"
clip-path="url(#breeze [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1386.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-56)">│</text><text
class="breeze-static-checks-r2" x="305" y="1386.4" textLength="183"
clip-path="url(#breeze-static-checks-line-56)">exclusive with </text><text
class="breeze-static-checks-r5" x="488" y="1386.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-56)">-</text><text
class="breeze-static-checks-r5" x="500.2" y="1386.4" textLength="61" [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1410.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-57)">│</text><text
class="breeze-static-checks-r7" x="305" y="1410.8" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-57)">(TEXT)                                      
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1435.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-58)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1435.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-58)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1435.2" textLength="61"
clip-path="url(#breeze-static-checks-line-58)">-last</text><text
class="breeze-static-checks-r5" x="97.6" y="1435.2" textLength="85.4"
clip-path="url(#b [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1459.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-59)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1459.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-59)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1459.6" textLength="61"
clip-path="url(#breeze-static-checks-line-59)">-only</text><text
class="breeze-static-checks-r5" x="97.6" y="1459.6" textLength="134.2"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1484" textLength="12.2"
clip-path="url(#breeze-static-checks-line-60)">│</text><text
class="breeze-static-checks-r2" x="305" y="1484" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-60)">branch and HEAD of your branch.                              &
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1508.4"
textLength="1464"
clip-path="url(#breeze-static-checks-line-61)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1508.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-61)">
-</text><text class="breeze-static-checks-r4" x="0" y="1532.8"
textLength="24.4" clip-path="url(#breeze-static-checks-line-62)">╭─</text><text
class="breeze-static-checks-r4" x="24.4" y="1532.8" textLength="463.6"
clip-path="url(#breeze-static-checks-line-62)"> Building image before running checks </text><text
class="breeze-static-checks-r4" x="488" y="1532.8" textLength="951.6"
clip-path="url(#breeze-static-checks-line-62)">──────────────────────────────────
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1557.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-63)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1557.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-63)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1557.2" textLength="61"
clip-path="url(#breeze-static-checks-line-63)">-skip</text><text
class="breeze-static-checks-r5" x="97.6" y="1557.2" textLength="146.4"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1581.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-64)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1581.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-64)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1581.6" textLength="73.2"
clip-path="url(#breeze-static-checks-line-64)">-force</text><text
class="breeze-static-checks-r5" x="109.8" y="1581.6" textLength="73.2"
clip-path="ur [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1606" textLength="12.2"
clip-path="url(#breeze-static-checks-line-65)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1606" textLength="12.2"
clip-path="url(#breeze-static-checks-line-65)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1606" textLength="73.2"
clip-path="url(#breeze-static-checks-line-65)">-image</text><text
class="breeze-static-checks-r5" x="109.8" y="1606" textLength="48.8"
clip-path="url(#breez [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1630.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-66)">│</text><text
class="breeze-static-checks-r4" x="329.4" y="1630.4" textLength="963.8"
clip-path="url(#breeze-static-checks-line-66)">[default: latest]                                   
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1654.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-67)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1654.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-67)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1654.8" textLength="85.4"
clip-path="url(#breeze-static-checks-line-67)">-github</text><text
class="breeze-static-checks-r5" x="122" y="1654.8" textLength="134.2"
clip-path="ur [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1679.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-68)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1679.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-68)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1679.2" textLength="97.6"
clip-path="url(#breeze-static-checks-line-68)">-builder</text><text
class="breeze-static-checks-r2" x="329.4" y="1679.2" textLength="756.4"
clip-path= [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1703.6"
textLength="1464"
clip-path="url(#breeze-static-checks-line-69)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1703.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-69)">
-</text><text class="breeze-static-checks-r4" x="0" y="1728" textLength="24.4"
clip-path="url(#breeze-static-checks-line-70)">╭─</text><text
class="breeze-static-checks-r4" x="24.4" y="1728" textLength="195.2"
clip-path="url(#breeze-static-checks-line-70)"> Common options </text><text
class="breeze-static-checks-r4" x="219.6" y="1728" textLength="1220"
clip-path="url(#breeze-static-checks-line-70)">────────────────────────────────────────────────────────────────────────────
[...]
-</text><text class="breeze-static-checks-r4" x="0" y="1752.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-71)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1752.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-71)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1752.4" textLength="97.6"
clip-path="url(#breeze-static-checks-line-71)">-verbose</text><text
class="breeze-static-checks-r6" x="158.6" y="1752.4" textLength="24.4"
clip-path=" [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1776.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-72)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1776.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-72)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1776.8" textLength="48.8"
clip-path="url(#breeze-static-checks-line-72)">-dry</text><text
class="breeze-static-checks-r5" x="85.4" y="1776.8" textLength="48.8"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1801.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-73)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1801.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-73)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1801.2" textLength="61"
clip-path="url(#breeze-static-checks-line-73)">-help</text><text
class="breeze-static-checks-r6" x="158.6" y="1801.2" textLength="24.4"
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r4" x="0" y="1825.6"
textLength="1464"
clip-path="url(#breeze-static-checks-line-74)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1825.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-74)">
+</text><text class="breeze-static-checks-r4" 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-extras-order | check-for-inclusive-language |                            
[...]
+</text><text class="breeze-static-checks-r4" 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-google-re2-as-dependency | check-hooks-apply |                            
[...]
+</text><text class="breeze-static-checks-r4" 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-incorrect-use-of-LoggingMixin | check-init-decorator-arguments |           </text><text
class="breeze-static-checks-r4" x="1451.8" y="483.6" textLength="12.2" [...]
+</text><text class="breeze-static-checks-r4" 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-lazy-logging | check-links-to-example-dags-do-not-use-hardcoded-versions | </text><text
class="breeze-static-checks-r4" x="1451.8" y="508" textLength="12.2"
clip-path="url(#breeze-static-checks-line-20)">│</text> [...]
+</text><text class="breeze-static-checks-r4" 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-merge-conflict | check-newsfragments-are-valid |                           </t
[...]
+</text><text class="breeze-static-checks-r4" 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-no-airflow-deprecation-in-providers | check-no-providers-in-core-examples |</text><text
class="breeze-static-checks-r4" x="1451.8" y="556.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-22)">│</text [...]
+</text><text class="breeze-static-checks-r4" 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-no-relative-imports | check-only-new-session-with-provide-session |        </text><text
class="breeze-static-checks-r4" x="1451.8" y="581.2" textLength="12.2"
clip-path="url [...]
+</text><text class="breeze-static-checks-r4" 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-persist-credentials-disabled-in-github-workflows |                         </text><text
class="bre [...]
+</text><text class="breeze-static-checks-r4" 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-pre-commit-information-consistent | check-provide-create-sessions-imports |</text><text
class="breeze-static-checks-r4" x="1451.8" y="630" textLength="12.2"
clip-path="url(#breeze-static-checks-line-25)">│</text><text [...]
+</text><text class="breeze-static-checks-r4" 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-provider-yaml-valid | check-providers-init-file-missing |                  </text><text
class="breeze-static-checks-r4" x=" [...]
+</text><text class="breeze-static-checks-r4" 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-providers-subpackages-init-file-exist | check-pydevd-left-in-code |        </text><text
class="breeze-static-checks-r4" x="1451.8" y="678.8" textLength="12.2"
clip-path="url [...]
+</text><text class="breeze-static-checks-r4" 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-revision-heads-map | check-safe-filter-usage-in-html | check-setup-order | </text><text
class="breeze-static-checks-r4" x="1451.8" y="703.2" textLength="12.2"
clip-path="url(#breeze-static-checks-li [...]
+</text><text class="breeze-static-checks-r4" 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-start-date-not-used-in-defaults | check-system-tests-present |             </text><text
class="breeze-static-checks-r4" x="1451.8" y="727.6" textLen [...]
+</text><text class="breeze-static-checks-r4" 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-system-tests-tocs | check-tests-unittest-testcase |                        </text><text
class="br [...]
+</text><text class="breeze-static-checks-r4" 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-urlparse-usage-in-code | check-usage-of-re2-over-re | check-xml | codespell</text><text
class="breeze-static-checks-r4" x="1451.8" y="776.4" textLength="12.2"
clip-path="url(#breeze-static-checks-li [...]
+</text><text class="breeze-static-checks-r4" 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)">| compile-www-assets | compile-www-assets-dev |                            
[...]
+</text><text class="breeze-static-checks-r4" 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)">create-missing-init-py-files-tests | debug-statements | detect-private-key |     </text><text
class="breeze-static-checks-r4" x="1451.8" y="825.2" textLength="12.2"
clip-path="url(#bre [...]
+</text><text class="breeze-static-checks-r4" 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)">doctoc | end-of-file-fixer | fix-encoding-pragma | flynt | identity |            </text><text
class="breeze-static-checks-r4" x=" [...]
+</text><text class="breeze-static-checks-r4" 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)">insert-license | lint-chart-schema | lint-css | lint-dockerfile | lint-helm-chart</text><text
class="breeze-static-checks-r4" x="1451.8" y="874" textLength="12.2"
clip-path="url(#breeze-static-check [...]
+</text><text class="breeze-static-checks-r4" 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)">| lint-json-schema | lint-markdown | lint-openapi | mixed-line-ending | mypy-core</text><text
class="breeze-static-checks-r4" x="1451.8" y="898.4" textLength="12.2"
clip-path="url(#breeze-s [...]
+</text><text class="breeze-static-checks-r4" 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)">| mypy-dev | mypy-docs | mypy-providers | pretty-format-json | python-no-log-warn</text><text
class="breeze-static-checks-r4" x="1451.8" y="922.8" textLength="12.2"
clip-path="url(#breeze-s [...]
+</text><text class="breeze-static-checks-r4" 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)">| replace-bad-characters | rst-backticks | ruff | shellcheck |                   </text><text
class [...]
+</text><text class="breeze-static-checks-r4" 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)">trailing-whitespace | ts-compile-format-lint-www | update-black-version |        </text><text
class="breeze-static-checks-r4" x="1451.8" y="971.6" textLength="12.2" clip
[...]
+</text><text class="breeze-static-checks-r4" 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)">update-breeze-cmd-output | update-breeze-readme-config-hash |                    </text><text
class="breeze-static-checks-r [...]
+</text><text class="breeze-static-checks-r4" 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)">update-common-sql-api-stubs | update-er-diagram | update-extras |                </text><text
class="breeze-static-checks-r4" x [...]
+</text><text class="breeze-static-checks-r4" 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)">update-in-the-wild-to-be-sorted | update-inlined-dockerfile-scripts |            </text><text
class="breeze-static-checks-r4" x="1451.8" y="1044.8" textLengt [...]
+</text><text class="breeze-static-checks-r4" 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)">update-installed-providers-to-be-sorted | update-local-yml-file |                </text><text
class="breeze-static-checks-r4" x="1451.8" [...]
+</text><text class="breeze-static-checks-r4" 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)">update-migration-references | update-providers-dependencies |                    </text><text
class="breeze-static-ch [...]
+</text><text class="breeze-static-checks-r4" 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-spelling-wordlist-to-be-sorted | update-supported-versions |              </text><text
class="breeze-static-checks-r4" x="1451.8" y="1118" textL [...]
+</text><text class="breeze-static-checks-r4" 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-vendored-in-k8s-json-schema | update-version | yamllint)                  </text><text
class="breeze-static-checks- [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1166.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-47)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1166.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-47)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1166.8" textLength="61"
clip-path="url(#breeze-static-checks-line-47)">-show</text><text
class="breeze-static-checks-r5" x="97.6" y="1166.8" textLength="195.2"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1191.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-48)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1191.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-48)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1191.2" textLength="134.2"
clip-path="url(#breeze-static-checks-line-48)">-initialize</text><text
class="breeze-static-checks-r5" x="170.8" y="1191.2" textLength="146.4" clip-p
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1215.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-49)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1215.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-49)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1215.6" textLength="48.8"
clip-path="url(#breeze-static-checks-line-49)">-max</text><text
class="breeze-static-checks-r5" x="85.4" y="1215.6" textLength="292.8"
clip-path="url( [...]
+</text><text class="breeze-static-checks-r4" 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="854"
clip-path="url(#breeze-static-checks-line-50)">(INTEGER RANGE)                                    &#
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1264.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-51)">│</text><text
class="breeze-static-checks-r4" x="451.4" y="1264.4" textLength="854"
clip-path="url(#breeze-static-checks-line-51)">[default: 3; 1<=x<=10]                                
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1288.8"
textLength="1464"
clip-path="url(#breeze-static-checks-line-52)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1288.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-52)">
+</text><text class="breeze-static-checks-r4" x="0" y="1313.2"
textLength="24.4" clip-path="url(#breeze-static-checks-line-53)">╭─</text><text
class="breeze-static-checks-r4" x="24.4" y="1313.2" textLength="463.6"
clip-path="url(#breeze-static-checks-line-53)"> Selecting files to run the checks on </text><text
class="breeze-static-checks-r4" x="488" y="1313.2" textLength="951.6"
clip-path="url(#breeze-static-checks-line-53)">──────────────────────── [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1337.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-54)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1337.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-54)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1337.6" textLength="61"
clip-path="url(#breeze-static-checks-line-54)">-file</text><text
class="breeze-static-checks-r6" x="256.2" y="1337.6" textLength="24.4"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1362" textLength="12.2"
clip-path="url(#breeze-static-checks-line-55)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1362" textLength="12.2"
clip-path="url(#breeze-static-checks-line-55)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1362" textLength="48.8"
clip-path="url(#breeze-static-checks-line-55)">-all</text><text
class="breeze-static-checks-r5" x="85.4" y="1362" textLength="73.2"
clip-path="url(#breeze-s [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1386.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-56)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1386.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-56)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1386.4" textLength="85.4"
clip-path="url(#breeze-static-checks-line-56)">-commit</text><text
class="breeze-static-checks-r5" x="122" y="1386.4" textLength="48.8"
clip-path="url [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1410.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-57)">│</text><text
class="breeze-static-checks-r2" x="305" y="1410.8" textLength="183"
clip-path="url(#breeze-static-checks-line-57)">exclusive with </text><text
class="breeze-static-checks-r5" x="488" y="1410.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-57)">-</text><text
class="breeze-static-checks-r5" x="500.2" y="1410.8" textLength="61" [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1435.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-58)">│</text><text
class="breeze-static-checks-r7" x="305" y="1435.2" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-58)">(TEXT)                                      
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1459.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-59)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1459.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-59)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1459.6" textLength="61"
clip-path="url(#breeze-static-checks-line-59)">-last</text><text
class="breeze-static-checks-r5" x="97.6" y="1459.6" textLength="85.4"
clip-path="url(#b [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1484" textLength="12.2"
clip-path="url(#breeze-static-checks-line-60)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1484" textLength="12.2"
clip-path="url(#breeze-static-checks-line-60)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1484" textLength="61"
clip-path="url(#breeze-static-checks-line-60)">-only</text><text
class="breeze-static-checks-r5" x="97.6" y="1484" textLength="134.2"
clip-path="url(#breeze-s [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1508.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-61)">│</text><text
class="breeze-static-checks-r2" x="305" y="1508.4" textLength="1134.6"
clip-path="url(#breeze-static-checks-line-61)">branch and HEAD of your branch.                             
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1532.8"
textLength="1464"
clip-path="url(#breeze-static-checks-line-62)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1532.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-62)">
+</text><text class="breeze-static-checks-r4" x="0" y="1557.2"
textLength="24.4" clip-path="url(#breeze-static-checks-line-63)">╭─</text><text
class="breeze-static-checks-r4" x="24.4" y="1557.2" textLength="463.6"
clip-path="url(#breeze-static-checks-line-63)"> Building image before running checks </text><text
class="breeze-static-checks-r4" x="488" y="1557.2" textLength="951.6"
clip-path="url(#breeze-static-checks-line-63)">──────────────────────────────────
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1581.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-64)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1581.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-64)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1581.6" textLength="61"
clip-path="url(#breeze-static-checks-line-64)">-skip</text><text
class="breeze-static-checks-r5" x="97.6" y="1581.6" textLength="146.4"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1606" textLength="12.2"
clip-path="url(#breeze-static-checks-line-65)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1606" textLength="12.2"
clip-path="url(#breeze-static-checks-line-65)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1606" textLength="73.2"
clip-path="url(#breeze-static-checks-line-65)">-force</text><text
class="breeze-static-checks-r5" x="109.8" y="1606" textLength="73.2"
clip-path="url(#breez [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1630.4"
textLength="12.2" clip-path="url(#breeze-static-checks-line-66)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1630.4" textLength="12.2"
clip-path="url(#breeze-static-checks-line-66)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1630.4" textLength="73.2"
clip-path="url(#breeze-static-checks-line-66)">-image</text><text
class="breeze-static-checks-r5" x="109.8" y="1630.4" textLength="48.8"
clip-path="ur [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1654.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-67)">│</text><text
class="breeze-static-checks-r4" x="329.4" y="1654.8" textLength="963.8"
clip-path="url(#breeze-static-checks-line-67)">[default: latest]                                   
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1679.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-68)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1679.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-68)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1679.2" textLength="85.4"
clip-path="url(#breeze-static-checks-line-68)">-github</text><text
class="breeze-static-checks-r5" x="122" y="1679.2" textLength="134.2"
clip-path="ur [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1703.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-69)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1703.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-69)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1703.6" textLength="97.6"
clip-path="url(#breeze-static-checks-line-69)">-builder</text><text
class="breeze-static-checks-r2" x="329.4" y="1703.6" textLength="756.4"
clip-path= [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1728" textLength="1464"
clip-path="url(#breeze-static-checks-line-70)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1728" textLength="12.2"
clip-path="url(#breeze-static-checks-line-70)">
+</text><text class="breeze-static-checks-r4" x="0" y="1752.4"
textLength="24.4" clip-path="url(#breeze-static-checks-line-71)">╭─</text><text
class="breeze-static-checks-r4" x="24.4" y="1752.4" textLength="195.2"
clip-path="url(#breeze-static-checks-line-71)"> Common options </text><text
class="breeze-static-checks-r4" x="219.6" y="1752.4" textLength="1220"
clip-path="url(#breeze-static-checks-line-71)">──────────────────────────────────────────────────────────────────────
[...]
+</text><text class="breeze-static-checks-r4" x="0" y="1776.8"
textLength="12.2" clip-path="url(#breeze-static-checks-line-72)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1776.8" textLength="12.2"
clip-path="url(#breeze-static-checks-line-72)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1776.8" textLength="97.6"
clip-path="url(#breeze-static-checks-line-72)">-verbose</text><text
class="breeze-static-checks-r6" x="158.6" y="1776.8" textLength="24.4"
clip-path=" [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1801.2"
textLength="12.2" clip-path="url(#breeze-static-checks-line-73)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1801.2" textLength="12.2"
clip-path="url(#breeze-static-checks-line-73)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1801.2" textLength="48.8"
clip-path="url(#breeze-static-checks-line-73)">-dry</text><text
class="breeze-static-checks-r5" x="85.4" y="1801.2" textLength="48.8"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1825.6"
textLength="12.2" clip-path="url(#breeze-static-checks-line-74)">│</text><text
class="breeze-static-checks-r5" x="24.4" y="1825.6" textLength="12.2"
clip-path="url(#breeze-static-checks-line-74)">-</text><text
class="breeze-static-checks-r5" x="36.6" y="1825.6" textLength="61"
clip-path="url(#breeze-static-checks-line-74)">-help</text><text
class="breeze-static-checks-r6" x="158.6" y="1825.6" textLength="24.4"
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r4" x="0" y="1850" textLength="1464"
clip-path="url(#breeze-static-checks-line-75)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
class="breeze-static-checks-r2" x="1464" y="1850" textLength="12.2"
clip-path="url(#breeze-static-checks-line-75)">
</text>
</g>
</g>
diff --git a/scripts/ci/pre_commit/pre_commit_check_google_re2_imports.py
b/scripts/ci/pre_commit/pre_commit_check_google_re2_imports.py
new file mode 100755
index 0000000000..30ad17ad20
--- /dev/null
+++ b/scripts/ci/pre_commit/pre_commit_check_google_re2_imports.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+from __future__ import annotations
+
+import ast
+import sys
+from pathlib import Path
+from typing import NamedTuple
+
+from rich.console import Console
+
+console = Console(color_system="standard", width=200)
+
+
+class ImportTuple(NamedTuple):
+ module: list[str]
+ name: list[str]
+ alias: str
+
+
+def get_imports(path: str):
+ with open(path) as fh:
+ root = ast.parse(fh.read(), path)
+
+ for node in ast.iter_child_nodes(root):
+ if isinstance(node, ast.Import):
+ module: list[str] = node.names[0].name.split(".") if node.names
else []
+ elif isinstance(node, ast.ImportFrom) and node.module:
+ module = node.module.split(".")
+ else:
+ continue
+
+ for n in node.names: # type: ignore[attr-defined]
+ yield ImportTuple(module=module, name=n.name.split("."),
alias=n.asname)
+
+
+def find_provider_yaml(path: str) -> Path | None:
+ cur_path = Path(path)
+ while cur_path.parent != cur_path:
+ if (cur_path / "provider.yaml").exists():
+ return cur_path / "provider.yaml"
+ cur_path = cur_path.parent
+ return None
+
+
+errors: list[str] = []
+
+
+def main() -> int:
+ for path in sys.argv[1:]:
+ if not path.startswith("airflow/providers/"):
+ continue
+ for imp in get_imports(path):
+ if imp.module[0] == "re2":
+ provider_yaml = find_provider_yaml(path)
+ if not provider_yaml:
+ console.print(f"[yellow]{path}:[/] Not found
provider.yaml")
+ continue
+ if "google-re2" not in provider_yaml.read_text():
+ console.print(f"[yellow]{path}:[/] Not found google-re2 in
{provider_yaml}")
+ errors.append(f"{path}:{provider_yaml}")
+ if errors:
+ console.print(
+ "[red]Some Providers use 're2' module but do not declare
'google-re2' as dependency.[/]\n"
+ "Please add google-re2 as dependency for those files in
provider.yaml files."
+ )
+ console.print("Impacted paths:")
+ for error in errors:
+ console.print(error)
+ return 1
+ else:
+ console.print("[green]All good!")
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())