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 54a400fcb6 Mark FAB provider as ready (#37362)
54a400fcb6 is described below

commit 54a400fcb6f477ffc34bdbb34078edd8b5f6f16a
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Wed Feb 14 03:08:15 2024 +0100

    Mark FAB provider as ready (#37362)
    
    As we are getting closer to 2.9* release, we should mark FAB provider
    as ready to be released, even if it is not yet really usable.
---
 .github/workflows/ci.yml                           |  1 +
 Dockerfile                                         | 31 ++++---
 Dockerfile.ci                                      | 31 ++++---
 airflow/providers/fab/provider.yaml                |  3 +-
 ...management_generate-issue-content-providers.svg | 12 +--
 ...management_generate-issue-content-providers.txt |  2 +-
 ...e-management_prepare-provider-documentation.svg | 12 +--
 ...e-management_prepare-provider-documentation.txt |  2 +-
 ...elease-management_prepare-provider-packages.svg | 12 +--
 ...elease-management_prepare-provider-packages.txt |  2 +-
 ...release-management_verify-provider-packages.svg | 94 ++++++++++++----------
 ...release-management_verify-provider-packages.txt |  2 +-
 .../common_package_installation_options.py         |  8 ++
 .../commands/release_management_commands.py        |  4 +
 .../commands/release_management_commands_config.py |  1 +
 .../src/airflow_breeze/params/shell_params.py      |  2 +
 generated/provider_dependencies.json               |  2 +-
 scripts/docker/install_airflow.sh                  | 31 ++++---
 .../in_container/install_airflow_and_providers.py  | 14 +++-
 19 files changed, 149 insertions(+), 117 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b2d45e5c30..4c143c54ee 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1014,6 +1014,7 @@ jobs:
           --use-airflow-version wheel
           --airflow-constraints-reference 
constraints-${{matrix.airflow-version}}
           --providers-skip-constraints
+          --install-airflow-with-constraints
 
   test-airflow-release-commands:
     timeout-minutes: 80
diff --git a/Dockerfile b/Dockerfile
index 265b10d5f4..cb29d9772d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -756,31 +756,28 @@ function install_airflow() {
     fi
     if [[ "${UPGRADE_TO_NEWER_DEPENDENCIES}" != "false" ]]; then
         echo
-        echo "${COLOR_BLUE}Installing all packages with eager 
upgrade${COLOR_RESET}"
+        echo "${COLOR_BLUE}Remove airflow and all provider packages installed 
before potentially${COLOR_RESET}"
         echo
-        # eager upgrade
-        pip install --root-user-action ignore --upgrade --upgrade-strategy 
eager \
+        set -x
+        pip freeze | grep apache-airflow | xargs pip uninstall --yes 
2>/dev/null || true
+        set +x
+        echo
+        echo "${COLOR_BLUE}Installing all packages with eager upgrade with 
${AIRFLOW_INSTALL_EDITABLE_FLAG} mode${COLOR_RESET}"
+        echo
+        set -x
+        pip install --root-user-action ignore \
+            --upgrade --upgrade-strategy eager \
             ${ADDITIONAL_PIP_INSTALL_FLAGS} \
+            ${AIRFLOW_INSTALL_EDITABLE_FLAG} \
             
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
 \
             ${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS=}
-        if [[ -n "${AIRFLOW_INSTALL_EDITABLE_FLAG}" ]]; then
-            # Remove airflow and all providers and reinstall it using editable 
flag
-            # We can only do it when we install airflow from sources
-            set -x
-            pip freeze | grep apache-airflow-providers | xargs pip uninstall 
--yes 2>/dev/null || true
-            pip uninstall apache-airflow --yes 2>/dev/null || true
-            pip install --root-user-action ignore 
${AIRFLOW_INSTALL_EDITABLE_FLAG} \
-                ${ADDITIONAL_PIP_INSTALL_FLAGS} \
-                
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
-            set +x
-        fi
-
+        set +x
         common::install_pip_version
         echo
         echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}"
         echo
         pip check
-    else \
+    else
         echo
         echo "${COLOR_BLUE}Installing all packages with constraints and 
upgrade if needed${COLOR_RESET}"
         echo
@@ -788,7 +785,7 @@ function install_airflow() {
         pip install --root-user-action ignore ${AIRFLOW_INSTALL_EDITABLE_FLAG} 
\
             ${ADDITIONAL_PIP_INSTALL_FLAGS} \
             
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
 \
-            --constraint "${AIRFLOW_CONSTRAINTS_LOCATION}"
+            --constraint "${AIRFLOW_CONSTRAINTS_LOCATION}" || true
         common::install_pip_version
         # then upgrade if needed without using constraints to account for new 
limits in pyproject.toml
         pip install --root-user-action ignore --upgrade --upgrade-strategy 
only-if-needed \
diff --git a/Dockerfile.ci b/Dockerfile.ci
index 8946f2d903..2ed964db9b 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -594,31 +594,28 @@ function install_airflow() {
     fi
     if [[ "${UPGRADE_TO_NEWER_DEPENDENCIES}" != "false" ]]; then
         echo
-        echo "${COLOR_BLUE}Installing all packages with eager 
upgrade${COLOR_RESET}"
+        echo "${COLOR_BLUE}Remove airflow and all provider packages installed 
before potentially${COLOR_RESET}"
         echo
-        # eager upgrade
-        pip install --root-user-action ignore --upgrade --upgrade-strategy 
eager \
+        set -x
+        pip freeze | grep apache-airflow | xargs pip uninstall --yes 
2>/dev/null || true
+        set +x
+        echo
+        echo "${COLOR_BLUE}Installing all packages with eager upgrade with 
${AIRFLOW_INSTALL_EDITABLE_FLAG} mode${COLOR_RESET}"
+        echo
+        set -x
+        pip install --root-user-action ignore \
+            --upgrade --upgrade-strategy eager \
             ${ADDITIONAL_PIP_INSTALL_FLAGS} \
+            ${AIRFLOW_INSTALL_EDITABLE_FLAG} \
             
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
 \
             ${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS=}
-        if [[ -n "${AIRFLOW_INSTALL_EDITABLE_FLAG}" ]]; then
-            # Remove airflow and all providers and reinstall it using editable 
flag
-            # We can only do it when we install airflow from sources
-            set -x
-            pip freeze | grep apache-airflow-providers | xargs pip uninstall 
--yes 2>/dev/null || true
-            pip uninstall apache-airflow --yes 2>/dev/null || true
-            pip install --root-user-action ignore 
${AIRFLOW_INSTALL_EDITABLE_FLAG} \
-                ${ADDITIONAL_PIP_INSTALL_FLAGS} \
-                
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
-            set +x
-        fi
-
+        set +x
         common::install_pip_version
         echo
         echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}"
         echo
         pip check
-    else \
+    else
         echo
         echo "${COLOR_BLUE}Installing all packages with constraints and 
upgrade if needed${COLOR_RESET}"
         echo
@@ -626,7 +623,7 @@ function install_airflow() {
         pip install --root-user-action ignore ${AIRFLOW_INSTALL_EDITABLE_FLAG} 
\
             ${ADDITIONAL_PIP_INSTALL_FLAGS} \
             
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
 \
-            --constraint "${AIRFLOW_CONSTRAINTS_LOCATION}"
+            --constraint "${AIRFLOW_CONSTRAINTS_LOCATION}" || true
         common::install_pip_version
         # then upgrade if needed without using constraints to account for new 
limits in pyproject.toml
         pip install --root-user-action ignore --upgrade --upgrade-strategy 
only-if-needed \
diff --git a/airflow/providers/fab/provider.yaml 
b/airflow/providers/fab/provider.yaml
index 9f6ddbb54f..b8cb3ee2c0 100644
--- a/airflow/providers/fab/provider.yaml
+++ b/airflow/providers/fab/provider.yaml
@@ -26,11 +26,12 @@ description: |
 
 # The provider is not yet ready to be released, we will skip it by default 
when preparing new release waves
 # For providers until we think it should be released.
-state: not-ready
+state: ready
 
 source-date-epoch: 1703288133
 
 versions:
+  - 1.0.1
   - 1.0.0
 
 dependencies:
diff --git 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
index 0646eb5871..57129c3e43 100644
--- 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
+++ 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.svg
@@ -141,12 +141,12 @@
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-3)">[</text><text
 class="breeze-release-management-generate-issue-content-providers-r4" x="24.4" 
y="93.2" textLength="85.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-3)">OPTIONS</text><text
 class="breeze-release-management-generate-issue-content-providers [...]
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-4)">apache</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-4)">.</text><text
 class="breeze-release-management-generate-issue-content-provider [...]
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-5)">apache</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-5)">.</text><text
 class="breeze-release-management-generate-issue-content-providers-r4 [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">|&#160;</text><text
 class="breeze-release-management-generate-issue-content-providers-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">common</text><text
 class="breeze-release-management-generate-issue-content-pr [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">ftp</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="48.8" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-content [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="215.2" textLength="24.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">|&#160;</text><text
 class="breeze-release-management-generate-issue-content-providers-r4" x="36.6" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">microsoft</text><text
 class="breeze-release-management-generate-issue-conten [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="239.6" textLength="97.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">opsgenie</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="109.8" y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-c [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="264" textLength="61" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">samba</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="73.2" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-content-p [...]
-</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="288.4" textLength="97.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">telegram</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="109.8" y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">|&#160;</text><text
 class="breeze-release-management-generate-issue-content-providers-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">common</text><text
 class="breeze-release-management-generate-issue-content-pr [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="190.8" textLength="97.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">facebook</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="109.8" y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-c [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">microsoft</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">.</text><text
 class="breeze-release-management-generate-issue-content-provi [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="239.6" textLength="122" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">opensearch</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="134.2" y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue- [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="264" textLength="122" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">salesforce</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" 
x="134.2" y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-co [...]
+</text><text 
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2" 
y="288.4" textLength="85.4" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">tabular</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="97.6" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-generate-issue-c [...]
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="1464" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-12)">
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2" 
y="337.2" textLength="585.6" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-13)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;the&#160;release.</text><text
 class="breeze-release-management-generate-issue-content-providers-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-13)">
 </text><text 
class="breeze-release-management-generate-issue-content-providers-r1" x="1464" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-14)">
diff --git 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
index 36d7be3c99..5024a687f5 100644
--- 
a/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
+++ 
b/dev/breeze/doc/images/output_release-management_generate-issue-content-providers.txt
@@ -1 +1 @@
-97f88e5ddbf7bd0f8de4fb734c8a2386
+d710025e44f0aade0a6ba788d2ac481b
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
index 34893298db..a51a74cf9b 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
@@ -177,12 +177,12 @@
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-3)">[</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="93.2" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-3)">OPTIONS</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="10 [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-4)">apache</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-4)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="9 [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-5)">apache</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-5)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="97.6" 
[...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">common</text><text
 class="breeze-release-management-prepare-provider-documentation-r1 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">ftp</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="48.8" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentation [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="215.2" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="36.6" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-documentatio [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="239.6" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">opsgenie</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="109.8" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documen [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="264" textLength="61" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">samba</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="73.2" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentation-r [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="288.4" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">telegram</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="109.8" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-docum [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">common</text><text
 class="breeze-release-management-prepare-provider-documentation-r1 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="190.8" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">facebook</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="109.8" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documen [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">.</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="239.6" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">opensearch</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="134.2" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-docume [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="264" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">salesforce</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="134.2" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-document [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2" 
y="288.4" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">tabular</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="97.6" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-documen [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-12)">
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="337.2" textLength="780.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-13)">Prepare&#160;CHANGELOG,&#160;README&#160;and&#160;COMMITS&#160;information&#160;for&#160;providers.</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation- [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-14)">
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
index 83b69b7ea7..edba94be19 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
@@ -1 +1 @@
-663614748d86a8e2e8df08417e9b9307
+5e8f0f4051dc0e7895a004c52b9cdb8a
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
index 0104899650..f80e635bfc 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.svg
@@ -162,12 +162,12 @@
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="93.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-3)">[</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="24.4" 
y="93.2" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-3)">OPTIONS</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="93.2" textLength= [...]
 </text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="117.6" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-4)">apache</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="117.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-4)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="97.6" 
y="117.6" textLength [...]
 </text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="142" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-5)">apache</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="85.4" 
y="142" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-5)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="97.6" 
y="142" textLength="61"  [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">common</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="166.4" tex [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">ftp</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="48.8" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="85.4" 
y="190.8" t [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="215.2" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="146.4" 
y="215.2" [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="239.6" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">opsgenie</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="146.4" y="2 
[...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="264" textLength="61" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">samba</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="73.2" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="109.8" 
y="264" text [...]
-</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="288.4" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">telegram</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="146.4" y= 
[...]
+</text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="166.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="36.6" 
y="166.4" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-6)">common</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="166.4" tex [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="190.8" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">facebook</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="109.8" 
y="190.8" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-7)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="146.4" y="1 
[...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="215.2" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">microsoft</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="122" 
y="215.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-8)">.</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="134.2" 
y="215.2" textLe [...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="239.6" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">opensearch</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="134.2" 
y="239.6" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-9)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="170.8" y=" 
[...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="264" textLength="122" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">salesforce</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="134.2" 
y="264" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-10)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="170.8" y="26 
[...]
+</text><text class="breeze-release-management-prepare-provider-packages-r4" 
x="12.2" y="288.4" textLength="85.4" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">tabular</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="97.6" 
y="288.4" textLength="36.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-11)">&#160;|&#160;</text><text
 class="breeze-release-management-prepare-provider-packages-r4" x="134.2" y="2 
[...]
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="1464" y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-12)">
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="12.2" y="337.2" textLength="585.6" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-13)">Prepare&#160;sdist/whl&#160;packages&#160;of&#160;Airflow&#160;Providers.</text><text
 class="breeze-release-management-prepare-provider-packages-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-13)">
 </text><text class="breeze-release-management-prepare-provider-packages-r1" 
x="1464" y="361.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-packages-line-14)">
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
index a65dfccd0b..bd01748ec7 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-packages.txt
@@ -1 +1 @@
-c233e9c9a308ce97422dfb26a4125ada
+df4076b125bf24eeafb45a1fdc4c9c15
diff --git 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
index 71011b5580..85e55ff94d 100644
--- 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
+++ 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1343.1999999999998" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 1416.3999999999999" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath 
id="breeze-release-management-verify-provider-packages-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1292.1999999999998" />
+      <rect x="0" y="0" width="1463.0" height="1365.3999999999999" />
     </clipPath>
     <clipPath id="breeze-release-management-verify-provider-packages-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -201,9 +201,18 @@
 <clipPath id="breeze-release-management-verify-provider-packages-line-51">
     <rect x="0" y="1245.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-verify-provider-packages-line-52">
+    <rect x="0" y="1270.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-verify-provider-packages-line-53">
+    <rect x="0" y="1294.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-verify-provider-packages-line-54">
+    <rect x="0" y="1319.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="1341.2" rx="8"/><text 
class="breeze-release-management-verify-provider-packages-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;verify-provider-packages</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1414.4" rx="8"/><text 
class="breeze-release-management-verify-provider-packages-title" fill="#c5c8c6" 
text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;verify-provider-packages</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -228,44 +237,47 @@
 </text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="312.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="312.8" textLength="85.4" cli [...]
 </text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="337.2" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">
 </text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="361.6" textLength="24.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">╭─</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="24.4" 
y="361.6" textLength="512.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">&#160;Installing&#160;packages&#160;after&#160;entering&#160;shell&#160;</text><text
 class="breeze-release-managem [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="386" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="386" 
textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="410.4" textLength="902.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="434.8" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="459.2" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="bre [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="475.8" 
y="483.6" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="508" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="508" 
textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="532.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="556.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="581.2" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="605.6" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="630" 
textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="475.8" 
y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="488" 
y="654.4" textLength="48.8" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="678.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="703.2" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="475.8" 
y="727.6" textLength="658.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="752" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="752" 
textLength="122" clip-path= [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="776.4" textLength="927.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="800.8" textLength="122" clip [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="825.2" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="bre [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="475.8" 
y="849.6" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="874" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="874" 
textLength="122" clip-path= [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="898.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;defaul
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="922.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="947.2" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="971.6" textLength="122" clip [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="996" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="996" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="996" 
textLength="48.8" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1020.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1044.8" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).</t
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1069.2" textLength="97.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">Implies&#160;</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="573.4" 
y="1069.2" text [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1093.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="475.8" 
y="1093.6" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1118" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1118" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1118" textLength="48.8" clip-p [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1142.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="475.8" 
y="1142.4" textLength="963.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1166.8" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1166.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1191.2" textLength="24.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">╭─</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="24.4" 
y="1191.2" textLength="195.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="219 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1215.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1215.6" textLength="48.8"  [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1240" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1240" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1240" textLength="97.6" clip-p [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1264.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1264.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1264.4" textLength="61" cl [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1288.8" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1288.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="386" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="386" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="410.4" textLength="902.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="434.8" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="459.2" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="breez [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="488" 
y="483.6" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="508" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="508" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="532.4" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="556.8" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="581.2" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="605.6" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="630" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="630" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="654.4" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">or&#160;airflow&#160;version.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="678.8" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="488" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="500.2" 
y="703.2" textLength="48.8" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="727.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="752" 
textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="752" 
textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="488" 
y="776.4" textLength="658.8" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="800.8" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="825.2" textLength="927.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="849.6" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" y="874" 
textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text
 class="breeze-re [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">│</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="488" 
y="898.4" textLength="866.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="922.8" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="947.2" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;default&
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="971.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="996" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" y="996" 
textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1020.4" textLength="122" c [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1044.8" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1069.2" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1093.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1093.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1118" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" y="1118" 
textLength="744.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies&#160;</text><text
 class="breeze-release-management-v [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1142.4" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1142.4" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">`remove`.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1166.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">│</text><text
 class="breeze-release-management-verify-provider-packages-r7" x="488" 
y="1166.8" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1191.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1191.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1191.2" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">│</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="488" 
y="1215.6" textLength="951.6" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1240" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1240" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1264.4" textLength="24.4" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">╭─</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="24.4" 
y="1264.4" textLength="195.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-verify-provider-packages-r5" x="219 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1288.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1288.8" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1288.8" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1313.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-53)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1313.2" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-53)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1313.2" textLength="97.6"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1337.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-54)">│</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="24.4" 
y="1337.6" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-54)">-</text><text
 class="breeze-release-management-verify-provider-packages-r4" x="36.6" 
y="1337.6" textLength="61" cl [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" 
x="0" y="1362" textLength="1464" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-55)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-verify-provider-packages-r1" x="1464" 
y="1362" textLength="12.2" 
clip-path="url(#breeze-release-management-verify-provider-packages-line-55)">
 </text>
     </g>
     </g>
diff --git 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
index 9ea71c96db..2a52506397 100644
--- 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
+++ 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
@@ -1 +1 @@
-2d128022c661ad702c6236dd75dd8531
+eb3a8677b96938504e78645353dadd9d
diff --git 
a/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py 
b/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py
index d0b85e82e8..d5cd788db4 100644
--- 
a/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py
+++ 
b/dev/breeze/src/airflow_breeze/commands/common_package_installation_options.py
@@ -61,6 +61,14 @@ option_airflow_skip_constraints = click.option(
     help="Do not use constraints when installing airflow.",
     envvar="AIRFLOW_SKIP_CONSTRAINTS",
 )
+option_install_airflow_with_constraints = click.option(
+    "--install-airflow-with-constraints",
+    is_flag=True,
+    default=False,
+    show_default=True,
+    envvar="INSTALL_AIRFLOW_WITH_CONSTRAINTS",
+    help="Install airflow in a separate step, with constraints determined from 
package or airflow version.",
+)
 option_install_selected_providers = click.option(
     "--install-selected-providers",
     help="Comma-separated list of providers selected to be installed (implies 
--use-packages-from-dist).",
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index e1be056179..3edeed633a 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -67,6 +67,7 @@ from 
airflow_breeze.commands.common_package_installation_options import (
     option_airflow_constraints_mode_update,
     option_airflow_constraints_reference,
     option_airflow_skip_constraints,
+    option_install_airflow_with_constraints,
     option_install_selected_providers,
     option_providers_constraints_location,
     option_providers_constraints_mode_ci,
@@ -1104,6 +1105,7 @@ def install_provider_packages(
 @option_airflow_skip_constraints
 @option_dry_run
 @option_github_repository
+@option_install_airflow_with_constraints
 @option_install_selected_providers
 @option_installation_package_format
 @option_mount_sources
@@ -1121,6 +1123,7 @@ def verify_provider_packages(
     airflow_constraints_reference: str,
     airflow_extras: str,
     github_repository: str,
+    install_airflow_with_constraints: bool,
     install_selected_providers: str,
     mount_sources: str,
     package_format: str,
@@ -1146,6 +1149,7 @@ def verify_provider_packages(
         airflow_extras=airflow_extras,
         airflow_skip_constraints=airflow_skip_constraints,
         github_repository=github_repository,
+        install_airflow_with_constraints=install_airflow_with_constraints,
         mount_sources=mount_sources,
         package_format=package_format,
         providers_constraints_location=providers_constraints_location,
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index ac7bbecb13..7afbda1242 100644
--- 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++ 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -118,6 +118,7 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, str 
| list[str]]]] = {
                 "--airflow-constraints-reference",
                 "--airflow-extras",
                 "--airflow-skip-constraints",
+                "--install-airflow-with-constraints",
                 "--install-selected-providers",
                 "--package-format",
                 "--providers-constraints-location",
diff --git a/dev/breeze/src/airflow_breeze/params/shell_params.py 
b/dev/breeze/src/airflow_breeze/params/shell_params.py
index ca9edc90e8..01baf0d0e1 100644
--- a/dev/breeze/src/airflow_breeze/params/shell_params.py
+++ b/dev/breeze/src/airflow_breeze/params/shell_params.py
@@ -150,6 +150,7 @@ class ShellParams:
     image_tag: str | None = None
     include_mypy_volume: bool = False
     install_airflow_version: str = ""
+    install_airflow_with_constraints: bool = False
     install_selected_providers: str | None = None
     integration: tuple[str, ...] = ()
     issue_id: str = ""
@@ -492,6 +493,7 @@ class ShellParams:
         _set_var(_env, "HOST_OS", self.host_os)
         _set_var(_env, "HOST_USER_ID", self.host_user_id)
         _set_var(_env, "INIT_SCRIPT_FILE", None, "init.sh")
+        _set_var(_env, "INSTALL_AIRFLOW_WITH_CONSTRAINTS", 
self.install_airflow_with_constraints)
         _set_var(_env, "INSTALL_AIRFLOW_VERSION", self.install_airflow_version)
         _set_var(_env, "INSTALL_SELECTED_PROVIDERS", 
self.install_selected_providers)
         _set_var(_env, "ISSUE_ID", self.issue_id)
diff --git a/generated/provider_dependencies.json 
b/generated/provider_dependencies.json
index 6b7efb833e..a690110c5e 100644
--- a/generated/provider_dependencies.json
+++ b/generated/provider_dependencies.json
@@ -474,7 +474,7 @@
     "devel-deps": [],
     "cross-providers-deps": [],
     "excluded-python-versions": [],
-    "state": "not-ready"
+    "state": "ready"
   },
   "facebook": {
     "deps": [
diff --git a/scripts/docker/install_airflow.sh 
b/scripts/docker/install_airflow.sh
index 959b4befda..dd70188239 100644
--- a/scripts/docker/install_airflow.sh
+++ b/scripts/docker/install_airflow.sh
@@ -52,31 +52,28 @@ function install_airflow() {
     fi
     if [[ "${UPGRADE_TO_NEWER_DEPENDENCIES}" != "false" ]]; then
         echo
-        echo "${COLOR_BLUE}Installing all packages with eager 
upgrade${COLOR_RESET}"
+        echo "${COLOR_BLUE}Remove airflow and all provider packages installed 
before potentially${COLOR_RESET}"
         echo
-        # eager upgrade
-        pip install --root-user-action ignore --upgrade --upgrade-strategy 
eager \
+        set -x
+        pip freeze | grep apache-airflow | xargs pip uninstall --yes 
2>/dev/null || true
+        set +x
+        echo
+        echo "${COLOR_BLUE}Installing all packages with eager upgrade with 
${AIRFLOW_INSTALL_EDITABLE_FLAG} mode${COLOR_RESET}"
+        echo
+        set -x
+        pip install --root-user-action ignore \
+            --upgrade --upgrade-strategy eager \
             ${ADDITIONAL_PIP_INSTALL_FLAGS} \
+            ${AIRFLOW_INSTALL_EDITABLE_FLAG} \
             
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
 \
             ${EAGER_UPGRADE_ADDITIONAL_REQUIREMENTS=}
-        if [[ -n "${AIRFLOW_INSTALL_EDITABLE_FLAG}" ]]; then
-            # Remove airflow and all providers and reinstall it using editable 
flag
-            # We can only do it when we install airflow from sources
-            set -x
-            pip freeze | grep apache-airflow-providers | xargs pip uninstall 
--yes 2>/dev/null || true
-            pip uninstall apache-airflow --yes 2>/dev/null || true
-            pip install --root-user-action ignore 
${AIRFLOW_INSTALL_EDITABLE_FLAG} \
-                ${ADDITIONAL_PIP_INSTALL_FLAGS} \
-                
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
-            set +x
-        fi
-
+        set +x
         common::install_pip_version
         echo
         echo "${COLOR_BLUE}Running 'pip check'${COLOR_RESET}"
         echo
         pip check
-    else \
+    else
         echo
         echo "${COLOR_BLUE}Installing all packages with constraints and 
upgrade if needed${COLOR_RESET}"
         echo
@@ -84,7 +81,7 @@ function install_airflow() {
         pip install --root-user-action ignore ${AIRFLOW_INSTALL_EDITABLE_FLAG} 
\
             ${ADDITIONAL_PIP_INSTALL_FLAGS} \
             
"${AIRFLOW_INSTALLATION_METHOD}[${AIRFLOW_EXTRAS}]${AIRFLOW_VERSION_SPECIFICATION}"
 \
-            --constraint "${AIRFLOW_CONSTRAINTS_LOCATION}"
+            --constraint "${AIRFLOW_CONSTRAINTS_LOCATION}" || true
         common::install_pip_version
         # then upgrade if needed without using constraints to account for new 
limits in pyproject.toml
         pip install --root-user-action ignore --upgrade --upgrade-strategy 
only-if-needed \
diff --git a/scripts/in_container/install_airflow_and_providers.py 
b/scripts/in_container/install_airflow_and_providers.py
index 7c7ee6063d..a637fe43e7 100755
--- a/scripts/in_container/install_airflow_and_providers.py
+++ b/scripts/in_container/install_airflow_and_providers.py
@@ -234,6 +234,7 @@ def find_installation_spec(
                 )
             if airflow_extras:
                 airflow_package_spec += airflow_extras
+
     elif use_airflow_version == "none" or use_airflow_version == "":
         console.print("\n[bright_blue]Skipping airflow package installation\n")
         airflow_package_spec = None
@@ -420,6 +421,14 @@ ALLOWED_CONSTRAINTS_MODE = 
["constraints-source-providers", "constraints", "cons
     envvar="USE_PACKAGES_FROM_DIST",
     help="Should install packages from dist folder if set.",
 )
+@click.option(
+    "--install-airflow-with-constraints",
+    is_flag=True,
+    default=False,
+    show_default=True,
+    envvar="INSTALL_AIRFLOW_WITH_CONSTRAINTS",
+    help="Install airflow in a separate step, with constraints determined from 
package or airflow version.",
+)
 def install_airflow_and_providers(
     airflow_constraints_mode: str,
     airflow_constraints_location: str,
@@ -438,6 +447,7 @@ def install_airflow_and_providers(
     python_version: str,
     use_airflow_version: str,
     use_packages_from_dist: bool,
+    install_airflow_with_constraints: bool,
 ):
     console.print("[bright_blue]Installing Airflow and Providers")
     installation_spec = find_installation_spec(
@@ -458,7 +468,7 @@ def install_airflow_and_providers(
         use_airflow_version=use_airflow_version,
         use_packages_from_dist=use_packages_from_dist,
     )
-    if installation_spec.airflow_package:
+    if installation_spec.airflow_package and install_airflow_with_constraints:
         install_airflow_cmd = [
             "pip",
             "install",
@@ -474,6 +484,8 @@ def install_airflow_and_providers(
         run_command(install_airflow_cmd, github_actions=github_actions, 
check=True)
     if installation_spec.provider_packages:
         install_providers_cmd = ["pip", "install", "--root-user-action", 
"ignore"]
+        if not install_airflow_with_constraints and 
installation_spec.airflow_package:
+            install_providers_cmd.append(installation_spec.airflow_package)
         console.print("\n[bright_blue]Installing provider packages:")
         for provider_package in sorted(installation_spec.provider_packages):
             console.print(f"  {provider_package}")


Reply via email to