This is an automated email from the ASF dual-hosted git repository.
kaxilnaik 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 917abea0d2b Suspend Apache Beam Provider due to grpcio limitation
(#61926)
917abea0d2b is described below
commit 917abea0d2b2d219e4158fe4f31280378a36af4c
Author: GPK <[email protected]>
AuthorDate: Fri Feb 27 13:26:11 2026 +0000
Suspend Apache Beam Provider due to grpcio limitation (#61926)
---
.../tests/unit/always/test_example_dags.py | 38 ++++++++++++++--------
.../unit/serialization/test_dag_serialization.py | 16 +++++++--
dev/breeze/doc/images/output_build-docs.svg | 6 ++--
dev/breeze/doc/images/output_build-docs.txt | 2 +-
...tput_release-management_add-back-references.svg | 6 ++--
...tput_release-management_add-back-references.txt | 2 +-
...management_generate-issue-content-providers.svg | 20 ++++++------
...management_generate-issue-content-providers.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 20 ++++++------
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 20 ++++++------
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 6 ++--
.../output_release-management_publish-docs.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 6 ++--
.../images/output_workflow-run_publish-docs.txt | 2 +-
.../commands/release_management_commands.py | 8 ++---
dev/breeze/src/airflow_breeze/utils/packages.py | 7 ++++
dev/breeze/tests/test_packages.py | 4 +--
.../src/tests_common/test_utils/providers.py | 20 ++++++++++++
providers/apache/beam/provider.yaml | 4 +--
providers/google/pyproject.toml | 4 ---
.../tests/unit/google/cloud/hooks/test_dataflow.py | 5 +++
.../unit/google/cloud/operators/test_dataflow.py | 4 +++
.../google/cloud/operators/test_datapipeline.py | 3 ++
.../unit/google/cloud/sensors/test_dataflow.py | 3 ++
.../unit/google/cloud/triggers/test_dataflow.py | 4 +++
.../utils/test_mlengine_prediction_summary.py | 4 +++
pyproject.toml | 8 -----
scripts/ci/prek/common_prek_utils.py | 8 ++++-
scripts/ci/prek/update_airflow_pyproject_toml.py | 3 +-
.../in_container/run_provider_yaml_files_check.py | 18 ++++++++++
scripts/in_container/verify_providers.py | 14 ++++++++
33 files changed, 187 insertions(+), 86 deletions(-)
diff --git a/airflow-core/tests/unit/always/test_example_dags.py
b/airflow-core/tests/unit/always/test_example_dags.py
index b50fe1953d0..b2fca80e870 100644
--- a/airflow-core/tests/unit/always/test_example_dags.py
+++ b/airflow-core/tests/unit/always/test_example_dags.py
@@ -36,6 +36,7 @@ from airflow.utils import yaml
from tests_common.test_utils.asserts import assert_queries_count
from tests_common.test_utils.markers import
skip_if_force_lowest_dependencies_marker
from tests_common.test_utils.paths import AIRFLOW_PROVIDERS_ROOT_PATH,
AIRFLOW_ROOT_PATH
+from tests_common.test_utils.providers import get_suspended_providers_folders
CURRENT_PYTHON_VERSION = f"{sys.version_info.major}.{sys.version_info.minor}"
PROVIDERS_PREFIXES = ["providers/"]
@@ -62,6 +63,23 @@ IGNORE_AIRFLOW_PROVIDER_DEPRECATION_WARNING: tuple[str, ...]
= (
# Deprecated Operators/Hooks, which replaced by common.sql Operators/Hooks
)
+IGNORE_EXAMPLE_DAGS: tuple[str, ...] = (
+ # These example dags require suspended providers, eg: google dataflow
dependent on the Apache Beam provider,
+ # but it's in the suspended list, we can't import the dag
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_go.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_java_streaming.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_native_java.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_native_python.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_native_python_async.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_pipeline.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_pipeline_streaming.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_sensors_deferrable.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_streaming_python.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_template.py",
+
"providers/google/tests/system/google/cloud/dataflow/example_dataflow_yaml.py",
+ "providers/google/tests/system/google/cloud/gcs/example_firestore.py",
+)
+
LONGER_IMPORT_TIMEOUTS: dict[str, float] = {
"providers/google/tests/system/google/cloud/gen_ai/example_gen_ai_generative_model.py":
60
}
@@ -79,19 +97,6 @@ def match_optional_dependencies(distribution_name: str,
specifier: str | None) -
return True, ""
-def get_suspended_providers_folders() -> list[str]:
- """
- Returns a list of suspended providers folders that should be
- skipped when running tests (without any prefix - for example apache/beam,
yandex, google etc.).
- """
- suspended_providers = []
- for provider_path in AIRFLOW_PROVIDERS_ROOT_PATH.rglob("provider.yaml"):
- provider_yaml = yaml.safe_load(provider_path.read_text())
- if provider_yaml["state"] == "suspended":
-
suspended_providers.append(provider_path.parent.resolve().as_posix())
- return suspended_providers
-
-
def get_python_excluded_providers_folders() -> list[str]:
"""
Returns a list of providers folders that should be excluded for current
Python version and
@@ -127,6 +132,13 @@ def example_not_excluded_dags(xfail_db_exception: bool =
False):
if candidate.startswith(tuple(suspended_providers_folders)):
param_marks.append(pytest.mark.skip(reason="Suspended
provider"))
+ if candidate.endswith(IGNORE_EXAMPLE_DAGS):
+ param_marks.append(
+ pytest.mark.skip(
+ reason="Excluded from imports, these examples require
suspended providers"
+ )
+ )
+
if
candidate.startswith(tuple(current_python_excluded_providers_folders)):
param_marks.append(
pytest.mark.skip(reason=f"Not supported for Python
{CURRENT_PYTHON_VERSION}")
diff --git a/airflow-core/tests/unit/serialization/test_dag_serialization.py
b/airflow-core/tests/unit/serialization/test_dag_serialization.py
index 485240a96a4..375b13dea35 100644
--- a/airflow-core/tests/unit/serialization/test_dag_serialization.py
+++ b/airflow-core/tests/unit/serialization/test_dag_serialization.py
@@ -105,6 +105,10 @@ from tests_common.test_utils.mock_operators import (
GithubLink,
MockOperator,
)
+from tests_common.test_utils.providers import (
+ IGNORE_MODULE_IMPORT_ERRORS,
+ get_suspended_providers_folders,
+)
from tests_common.test_utils.timetables import (
CustomSerializationTimetable,
cron_timetable,
@@ -426,8 +430,8 @@ def get_excluded_patterns() -> Generator[str, None, None]:
(AIRFLOW_REPO_ROOT_PATH / "generated" /
"provider_dependencies.json").read_text()
)
for provider, provider_info in all_providers.items():
+ provider_path = provider.replace(".", "/")
if python_version in provider_info.get("excluded-python-versions"):
- provider_path = provider.replace(".", "/")
yield f"providers/{provider_path}"
current_python_version = sys.version_info[:2]
if current_python_version >= (3, 13):
@@ -457,9 +461,12 @@ def collect_dags(dag_folder=None):
patterns = dag_folder
else:
patterns = [dag_folder]
+ suspended_providers_path = get_suspended_providers_folders()
+
excluded_patterns = [
f"{AIRFLOW_REPO_ROOT_PATH}/{excluded_pattern}" for excluded_pattern in
get_excluded_patterns()
- ]
+ ] + suspended_providers_path
+
with
mock.patch("airflow.dag_processing.dagbag.settings.get_dagbag_import_timeout",
return_value=60):
for pattern in patterns:
for directory in glob(f"{AIRFLOW_REPO_ROOT_PATH}/{pattern}"):
@@ -553,6 +560,11 @@ class TestStringifiedDAGs:
# This "looks" like a problem, but is just a quirk of the
parse-all-dags-in-one-process we do
# in this test
if "AirflowDagDuplicatedIdException: Ignoring DAG
example_sagemaker" not in error
+ # Ignore module import errors for any suspended provider paths
used in example dags
+ if any(
+ f"{ignore_module_import_error}" not in error
+ for ignore_module_import_error in IGNORE_MODULE_IMPORT_ERRORS
+ )
}
# Let's not be exact about this, but if everything fails to parse we
should fail this test too
diff --git a/dev/breeze/doc/images/output_build-docs.svg
b/dev/breeze/doc/images/output_build-docs.svg
index 7b11b9b3539..f81ca88c66d 100644
--- a/dev/breeze/doc/images/output_build-docs.svg
+++ b/dev/breeze/doc/images/output_build-docs.svg
@@ -217,9 +217,9 @@
</text><text class="breeze-build-docs-r2" x="12.2" y="44.4"
textLength="1439.6"
clip-path="url(#breeze-build-docs-line-1)">Usage:                                                            
[...]
</text><text class="breeze-build-docs-r3" x="12.2" y="68.8"
textLength="1439.6"
clip-path="url(#breeze-build-docs-line-2)">breeze build-docs                                                          
[...]
</text><text class="breeze-build-docs-r1" x="12.2" y="93.2" textLength="12.2"
clip-path="url(#breeze-build-docs-line-3)">[</text><text
class="breeze-build-docs-r4" x="24.4" y="93.2" textLength="85.4"
clip-path="url(#breeze-build-docs-line-3)">OPTIONS</text><text
class="breeze-build-docs-r1" x="109.8" y="93.2" textLength="36.6"
clip-path="url(#breeze-build-docs-line-3)">] [</text><text
class="breeze-build-docs-r4" x="146.4" y="93.2" textLength="85.4"
clip-path="url(#breeze-build-docs [...]
-</text><text class="breeze-build-docs-r1" x="12.2" y="117.6" textLength="24.4"
clip-path="url(#breeze-build-docs-line-4)">| </text><text
class="breeze-build-docs-r4" x="36.6" y="117.6" textLength="73.2"
clip-path="url(#breeze-build-docs-line-4)">apache</text><text
class="breeze-build-docs-r1" x="109.8" y="117.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-4)">.</text><text
class="breeze-build-docs-r4" x="122" y="117.6" textLength="48.8"
clip-path="url(#breeze-build-docs [...]
-</text><text class="breeze-build-docs-r4" x="12.2" y="142" textLength="73.2"
clip-path="url(#breeze-build-docs-line-5)">apache</text><text
class="breeze-build-docs-r1" x="85.4" y="142" textLength="12.2"
clip-path="url(#breeze-build-docs-line-5)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="142" textLength="85.4"
clip-path="url(#breeze-build-docs-line-5)">iceberg</text><text
class="breeze-build-docs-r1" x="183" y="142" textLength="36.6"
clip-path="url(#breeze-build-docs-line-5)" [...]
-</text><text class="breeze-build-docs-r1" x="12.2" y="166.4" textLength="24.4"
clip-path="url(#breeze-build-docs-line-6)">| </text><text
class="breeze-build-docs-r4" x="36.6" y="166.4" textLength="73.2"
clip-path="url(#breeze-build-docs-line-6)">apache</text><text
class="breeze-build-docs-r1" x="109.8" y="166.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-6)">.</text><text
class="breeze-build-docs-r4" x="122" y="166.4" textLength="109.8"
clip-path="url(#breeze-build-doc [...]
+</text><text class="breeze-build-docs-r1" x="12.2" y="117.6" textLength="24.4"
clip-path="url(#breeze-build-docs-line-4)">| </text><text
class="breeze-build-docs-r4" x="36.6" y="117.6" textLength="73.2"
clip-path="url(#breeze-build-docs-line-4)">apache</text><text
class="breeze-build-docs-r1" x="109.8" y="117.6" textLength="12.2"
clip-path="url(#breeze-build-docs-line-4)">.</text><text
class="breeze-build-docs-r4" x="122" y="117.6" textLength="109.8"
clip-path="url(#breeze-build-doc [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="142" textLength="73.2"
clip-path="url(#breeze-build-docs-line-5)">apache</text><text
class="breeze-build-docs-r1" x="85.4" y="142" textLength="12.2"
clip-path="url(#breeze-build-docs-line-5)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="142" textLength="73.2"
clip-path="url(#breeze-build-docs-line-5)">impala</text><text
class="breeze-build-docs-r1" x="170.8" y="142" textLength="36.6"
clip-path="url(#breeze-build-docs-line-5) [...]
+</text><text class="breeze-build-docs-r4" x="12.2" y="166.4" textLength="73.2"
clip-path="url(#breeze-build-docs-line-6)">apache</text><text
class="breeze-build-docs-r1" x="85.4" y="166.4" textLength="12.2"
clip-path="url(#breeze-build-docs-line-6)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="166.4" textLength="109.8"
clip-path="url(#breeze-build-docs-line-6)">tinkerpop</text><text
class="breeze-build-docs-r1" x="207.4" y="166.4" textLength="36.6"
clip-path="url(#breeze-build- [...]
</text><text class="breeze-build-docs-r4" x="12.2" y="190.8" textLength="73.2"
clip-path="url(#breeze-build-docs-line-7)">common</text><text
class="breeze-build-docs-r1" x="85.4" y="190.8" textLength="12.2"
clip-path="url(#breeze-build-docs-line-7)">.</text><text
class="breeze-build-docs-r4" x="97.6" y="190.8" textLength="24.4"
clip-path="url(#breeze-build-docs-line-7)">ai</text><text
class="breeze-build-docs-r1" x="122" y="190.8" textLength="36.6"
clip-path="url(#breeze-build-docs-line- [...]
</text><text class="breeze-build-docs-r4" x="12.2" y="215.2" textLength="85.4"
clip-path="url(#breeze-build-docs-line-8)">discord</text><text
class="breeze-build-docs-r1" x="97.6" y="215.2" textLength="36.6"
clip-path="url(#breeze-build-docs-line-8)"> | </text><text
class="breeze-build-docs-r4" x="134.2" y="215.2" textLength="73.2"
clip-path="url(#breeze-build-docs-line-8)">docker</text><text
class="breeze-build-docs-r1" x="207.4" y="215.2" textLength="36.6"
clip-path="url(#bre [...]
</text><text class="breeze-build-docs-r1" x="12.2" y="239.6" textLength="24.4"
clip-path="url(#breeze-build-docs-line-9)">| </text><text
class="breeze-build-docs-r4" x="36.6" y="239.6" textLength="109.8"
clip-path="url(#breeze-build-docs-line-9)">hashicorp</text><text
class="breeze-build-docs-r1" x="146.4" y="239.6" textLength="36.6"
clip-path="url(#breeze-build-docs-line-9)"> | </text><text
class="breeze-build-docs-r4" x="183" y="239.6" textLength="48.8"
clip-path="url(#b [...]
diff --git a/dev/breeze/doc/images/output_build-docs.txt
b/dev/breeze/doc/images/output_build-docs.txt
index 68aba2e8b60..abc5a5bb68a 100644
--- a/dev/breeze/doc/images/output_build-docs.txt
+++ b/dev/breeze/doc/images/output_build-docs.txt
@@ -1 +1 @@
-9cab0b55ae6a31b4cd43f8edb5d69521
+6f8557a503649e72517ecd140dadf2f6
diff --git
a/dev/breeze/doc/images/output_release-management_add-back-references.svg
b/dev/breeze/doc/images/output_release-management_add-back-references.svg
index c5296b761dc..297996f63b0 100644
--- a/dev/breeze/doc/images/output_release-management_add-back-references.svg
+++ b/dev/breeze/doc/images/output_release-management_add-back-references.svg
@@ -147,9 +147,9 @@
</text><text class="breeze-release-management-add-back-references-r2" x="12.2"
y="44.4" textLength="1439.6"
clip-path="url(#breeze-release-management-add-back-references-line-1)">Usage:                                                   &
[...]
</text><text class="breeze-release-management-add-back-references-r3" x="12.2"
y="68.8" textLength="1439.6"
clip-path="url(#breeze-release-management-add-back-references-line-2)">breeze release-management add-back-references                                           
[...]
</text><text class="breeze-release-management-add-back-references-r1" x="12.2"
y="93.2" textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-3)">[</text><text
class="breeze-release-management-add-back-references-r4" x="24.4" y="93.2"
textLength="85.4"
clip-path="url(#breeze-release-management-add-back-references-line-3)">OPTIONS</text><text
class="breeze-release-management-add-back-references-r1" x="109.8" y="93.2"
textLength="36.6" clip-path="url(#breeze- [...]
-</text><text class="breeze-release-management-add-back-references-r1" x="12.2"
y="117.6" textLength="24.4"
clip-path="url(#breeze-release-management-add-back-references-line-4)">| </text><text
class="breeze-release-management-add-back-references-r4" x="36.6" y="117.6"
textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-4)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="109.8" y="117.6"
textLength="12.2" clip-path="url( [...]
-</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-5)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="142"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-5)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="142"
textLength="85.4" clip-path="url(#breeze-relea [...]
-</text><text class="breeze-release-management-add-back-references-r1" x="12.2"
y="166.4" textLength="24.4"
clip-path="url(#breeze-release-management-add-back-references-line-6)">| </text><text
class="breeze-release-management-add-back-references-r4" x="36.6" y="166.4"
textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-6)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="109.8" y="166.4"
textLength="12.2" clip-path="url( [...]
+</text><text class="breeze-release-management-add-back-references-r1" x="12.2"
y="117.6" textLength="24.4"
clip-path="url(#breeze-release-management-add-back-references-line-4)">| </text><text
class="breeze-release-management-add-back-references-r4" x="36.6" y="117.6"
textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-4)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="109.8" y="117.6"
textLength="12.2" clip-path="url( [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-5)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="142"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-5)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="142"
textLength="73.2" clip-path="url(#breeze-relea [...]
+</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="166.4" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-6)">apache</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="166.4"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-6)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="166.4"
textLength="109.8" clip-path="url(#breez [...]
</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="190.8" textLength="73.2"
clip-path="url(#breeze-release-management-add-back-references-line-7)">common</text><text
class="breeze-release-management-add-back-references-r1" x="85.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-add-back-references-line-7)">.</text><text
class="breeze-release-management-add-back-references-r4" x="97.6" y="190.8"
textLength="24.4" clip-path="url(#breeze [...]
</text><text class="breeze-release-management-add-back-references-r4" x="12.2"
y="215.2" textLength="85.4"
clip-path="url(#breeze-release-management-add-back-references-line-8)">discord</text><text
class="breeze-release-management-add-back-references-r1" x="97.6" y="215.2"
textLength="36.6"
clip-path="url(#breeze-release-management-add-back-references-line-8)"> | </text><text
class="breeze-release-management-add-back-references-r4" x="134.2" y="215.2"
textLength="73.2" clip-pat [...]
</text><text class="breeze-release-management-add-back-references-r1" x="12.2"
y="239.6" textLength="24.4"
clip-path="url(#breeze-release-management-add-back-references-line-9)">| </text><text
class="breeze-release-management-add-back-references-r4" x="36.6" y="239.6"
textLength="109.8"
clip-path="url(#breeze-release-management-add-back-references-line-9)">hashicorp</text><text
class="breeze-release-management-add-back-references-r1" x="146.4" y="239.6"
textLength="36.6" clip-path=" [...]
diff --git
a/dev/breeze/doc/images/output_release-management_add-back-references.txt
b/dev/breeze/doc/images/output_release-management_add-back-references.txt
index 389b8c23221..d8b21fbf0ba 100644
--- a/dev/breeze/doc/images/output_release-management_add-back-references.txt
+++ b/dev/breeze/doc/images/output_release-management_add-back-references.txt
@@ -1 +1 @@
-244b18c58ed980a094c555a81698da9b
+c4f3137fd042c7fe7f6cf21479523c5d
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 2fb4ef4b6ff..38e064ecfa5 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
@@ -138,16 +138,16 @@
<text
class="breeze-release-management-generate-issue-content-providers-r1" x="1464"
y="20" textLength="12.2"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-0)">
</text><text
class="breeze-release-management-generate-issue-content-providers-r2" x="12.2"
y="44.4" textLength="1439.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-1)">Usage:                                               
[...]
</text><text
class="breeze-release-management-generate-issue-content-providers-r3" x="12.2"
y="68.8" textLength="1439.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-2)">breeze release-management generate-issue-content-providers                                    
[...]
-</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-r4" x="12.2"
y="166.4" textLength="48.8"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">cncf</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="61"
y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">.</text><text
class="breeze-release-management-generate-issue-content-providers-r4 [...]
-</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)">dbt</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="48.8"
y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">.</text><text
class="breeze-release-management-generate-issue-content-providers-r [...]
-</text><text
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2"
y="215.2" textLength="73.2"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">google</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="85.4"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)"> | </text><text
class="breeze-release-management-generate-issue-cont [...]
-</text><text
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">microsoft</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="122"
y="239.6" textLength="12.2"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">.</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="264" textLength="122"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">opensearch</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)"> | </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="122"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)">salesforce</text><text
class="breeze-release-management-generate-issue-content-providers-r1"
x="134.2" y="288.4" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-11)"> | </text><text
class="breeze-release-management-generate-issu [...]
-</text><text
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2"
y="312.8" textLength="85.4"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-12)">tableau</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="97.6"
y="312.8" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-12)"> | </text><text
class="breeze-release-management-generate-issue-c [...]
+</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-r4" x="12.2"
y="166.4" textLength="73.2"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)">cohere</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="85.4"
y="166.4" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-6)"> | </text><text
class="breeze-release-management-generate-issue-cont [...]
+</text><text
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2"
y="190.8" textLength="85.4"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)">discord</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="97.6"
y="190.8" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-7)"> | </text><text
class="breeze-release-management-generate-issue-con [...]
+</text><text
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2"
y="215.2" textLength="48.8"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)">http</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="61"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-8)"> | </text><text
class="breeze-release-management-generate-issue-content- [...]
+</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="12.2"
y="239.6" textLength="24.4"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">| </text><text
class="breeze-release-management-generate-issue-content-providers-r4" x="36.6"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-9)">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="264" textLength="109.8"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)">pagerduty</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="122"
y="264" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-10)"> | </text><text
class="breeze-release-management-generate-issue-con [...]
+</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)">sendgrid</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)"> | </text><text
class="breeze-release-management-generate-issue [...]
+</text><text
class="breeze-release-management-generate-issue-content-providers-r4" x="12.2"
y="312.8" textLength="61"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-12)">trino</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="73.2"
y="312.8" textLength="36.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-12)"> | </text><text
class="breeze-release-management-generate-issue-conte [...]
</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="12.2"
y="361.6" textLength="585.6"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-14)">Generates content for issue to test the release.</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)">
</text><text
class="breeze-release-management-generate-issue-content-providers-r1" x="1464"
y="386" textLength="12.2"
clip-path="url(#breeze-release-management-generate-issue-content-providers-line-15)">
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 18de3e60197..0a88b97dfc4 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 @@
-1cae29e202f794ccc8c3b04c2000e18d
+20f849b3a6098cf813098a97bf220006
diff --git
a/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.svg
b/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.svg
index cdc37e129f8..1dc8c2b4e46 100644
---
a/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.svg
+++
b/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.svg
@@ -180,16 +180,16 @@
<text class="breeze-release-management-prepare-provider-distributions-r1"
x="1464" y="20" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-0)">
</text><text
class="breeze-release-management-prepare-provider-distributions-r2" x="12.2"
y="44.4" textLength="1439.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-1)">Usage:                                               
[...]
</text><text
class="breeze-release-management-prepare-provider-distributions-r3" x="12.2"
y="68.8" textLength="1439.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-2)">breeze release-management prepare-provider-distributions                                     
[...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="12.2"
y="93.2" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-3)">[</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="24.4"
y="93.2" textLength="85.4"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-3)">OPTIONS</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="10 [...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="117.6" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-4)">apache</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="85.4"
y="117.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-4)">.</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="9 [...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-5)">apache</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="85.4"
y="142" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-5)">.</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="97.6"
[...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="166.4" textLength="48.8"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-6)">cncf</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="61"
y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-6)">.</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="73.2"
[...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="190.8" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-7)">dbt</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="48.8"
y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-7)">.</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="61"
[...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="215.2" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-8)">google</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="85.4"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-8)"> | </text><text
class="breeze-release-management-prepare-provider-distributi [...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-9)">microsoft</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="122"
y="239.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-9)">.</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x [...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="264" textLength="122"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-10)">opensearch</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="134.2"
y="264" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-10)"> | </text><text
class="breeze-release-management-prepare-provider-distribu [...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="288.4" textLength="122"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-11)">salesforce</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="134.2"
y="288.4" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-11)"> | </text><text
class="breeze-release-management-prepare-provider-dist [...]
-</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="312.8" textLength="85.4"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-12)">tableau</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="97.6"
y="312.8" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-12)"> | </text><text
class="breeze-release-management-prepare-provider-distrib [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="12.2"
y="93.2" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-3)">[</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="24.4"
y="93.2" textLength="85.4"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-3)">OPTIONS</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="10 [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="117.6" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-4)">apache</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="85.4"
y="117.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-4)">.</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="9 [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-5)">apache</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="85.4"
y="142" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-5)">.</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="97.6"
[...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="166.4" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-6)">cohere</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="85.4"
y="166.4" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-6)"> | </text><text
class="breeze-release-management-prepare-provider-distributi [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="190.8" textLength="85.4"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-7)">discord</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="97.6"
y="190.8" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-7)"> | </text><text
class="breeze-release-management-prepare-provider-distribut [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="215.2" textLength="48.8"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-8)">http</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="61"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-8)"> | </text><text
class="breeze-release-management-prepare-provider-distributions- [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="12.2"
y="239.6" textLength="24.4"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-9)">| </text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="36.6"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-9)">microsoft</text><text
class="breeze-release-management-prepare-provider-distribution [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="264" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-10)">pagerduty</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="122"
y="264" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-10)"> | </text><text
class="breeze-release-management-prepare-provider-distribut [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="288.4" textLength="97.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-11)">sendgrid</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="109.8"
y="288.4" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-11)"> | </text><text
class="breeze-release-management-prepare-provider-distr [...]
+</text><text
class="breeze-release-management-prepare-provider-distributions-r4" x="12.2"
y="312.8" textLength="61"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-12)">trino</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="73.2"
y="312.8" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-12)"> | </text><text
class="breeze-release-management-prepare-provider-distributio [...]
</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="1464"
y="337.2" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-13)">
</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="12.2"
y="361.6" textLength="646.6"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-14)">Prepare sdist/whl distributions of Airflow Providers.</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="1464"
y="361.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-14)">
</text><text
class="breeze-release-management-prepare-provider-distributions-r1" x="1464"
y="386" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-distributions-line-15)">
diff --git
a/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.txt
b/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.txt
index 589321a0b30..416151822b1 100644
---
a/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.txt
+++
b/dev/breeze/doc/images/output_release-management_prepare-provider-distributions.txt
@@ -1 +1 @@
-f3fe0a23a40c7d160a85ffdce6d10ad5
+8e9317e44788c0b820f3a461da6df58a
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 61390a14985..9ad626222bb 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
@@ -207,16 +207,16 @@
<text class="breeze-release-management-prepare-provider-documentation-r1"
x="1464" y="20" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-0)">
</text><text
class="breeze-release-management-prepare-provider-documentation-r2" x="12.2"
y="44.4" textLength="1439.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-1)">Usage:                                               
[...]
</text><text
class="breeze-release-management-prepare-provider-documentation-r3" x="12.2"
y="68.8" textLength="1439.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-2)">breeze release-management prepare-provider-documentation                                     
[...]
-</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-r4" x="12.2"
y="166.4" textLength="48.8"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">cncf</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="61"
y="166.4" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">.</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="73.2"
[...]
-</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)">dbt</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="48.8"
y="190.8" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">.</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="61"
[...]
-</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2"
y="215.2" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">google</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="85.4"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)"> | </text><text
class="breeze-release-management-prepare-provider-documentat [...]
-</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">microsoft</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="122"
y="239.6" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">.</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="264" textLength="122"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">opensearch</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)"> | </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="122"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)">salesforce</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="134.2"
y="288.4" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-11)"> | </text><text
class="breeze-release-management-prepare-provider-docu [...]
-</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2"
y="312.8" textLength="85.4"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-12)">tableau</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="97.6"
y="312.8" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-12)"> | </text><text
class="breeze-release-management-prepare-provider-documen [...]
+</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-r4" x="12.2"
y="166.4" textLength="73.2"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)">cohere</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="85.4"
y="166.4" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-6)"> | </text><text
class="breeze-release-management-prepare-provider-documentat [...]
+</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2"
y="190.8" textLength="85.4"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)">discord</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="97.6"
y="190.8" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-7)"> | </text><text
class="breeze-release-management-prepare-provider-documenta [...]
+</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2"
y="215.2" textLength="48.8"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)">http</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="61"
y="215.2" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-8)"> | </text><text
class="breeze-release-management-prepare-provider-documentation- [...]
+</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2"
y="239.6" textLength="24.4"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">| </text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="36.6"
y="239.6" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-9)">microsoft</text><text
class="breeze-release-management-prepare-provider-documentatio [...]
+</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2"
y="264" textLength="109.8"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)">pagerduty</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="122"
y="264" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-10)"> | </text><text
class="breeze-release-management-prepare-provider-documenta [...]
+</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)">sendgrid</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)"> | </text><text
class="breeze-release-management-prepare-provider-docum [...]
+</text><text
class="breeze-release-management-prepare-provider-documentation-r4" x="12.2"
y="312.8" textLength="61"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-12)">trino</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="73.2"
y="312.8" textLength="36.6"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-12)"> | </text><text
class="breeze-release-management-prepare-provider-documentati [...]
</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-line-13)">
</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2"
y="361.6" textLength="780.8"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-14)">Prepare CHANGELOG, README and COMMITS information for providers.</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- [...]
</text><text
class="breeze-release-management-prepare-provider-documentation-r1" x="1464"
y="386" textLength="12.2"
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-15)">
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 00e9f8cbd1c..25496ff5fe2 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 @@
-85faf6f44c9358c04ed1bf5ca2ab9e23
+75517e0fd3d48cbc5cf85c50812753df
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.svg
b/dev/breeze/doc/images/output_release-management_publish-docs.svg
index a9855fa1989..f3f41e88906 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.svg
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.svg
@@ -186,9 +186,9 @@
</text><text class="breeze-release-management-publish-docs-r2" x="12.2"
y="44.4" textLength="1439.6"
clip-path="url(#breeze-release-management-publish-docs-line-1)">Usage:                                                     
[...]
</text><text class="breeze-release-management-publish-docs-r3" x="12.2"
y="68.8" textLength="1439.6"
clip-path="url(#breeze-release-management-publish-docs-line-2)">breeze release-management publish-docs                                              
[...]
</text><text class="breeze-release-management-publish-docs-r1" x="12.2"
y="93.2" textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-3)">[</text><text
class="breeze-release-management-publish-docs-r4" x="24.4" y="93.2"
textLength="85.4"
clip-path="url(#breeze-release-management-publish-docs-line-3)">OPTIONS</text><text
class="breeze-release-management-publish-docs-r1" x="109.8" y="93.2"
textLength="36.6" clip-path="url(#breeze-release-management-publish-docs-lin
[...]
-</text><text class="breeze-release-management-publish-docs-r1" x="12.2"
y="117.6" textLength="24.4"
clip-path="url(#breeze-release-management-publish-docs-line-4)">| </text><text
class="breeze-release-management-publish-docs-r4" x="36.6" y="117.6"
textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-4)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="109.8" y="117.6"
textLength="12.2" clip-path="url(#breeze-release-management-publish- [...]
-</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="142"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="142"
textLength="85.4"
clip-path="url(#breeze-release-management-publish-docs-line-5)" [...]
-</text><text class="breeze-release-management-publish-docs-r1" x="12.2"
y="166.4" textLength="24.4"
clip-path="url(#breeze-release-management-publish-docs-line-6)">| </text><text
class="breeze-release-management-publish-docs-r4" x="36.6" y="166.4"
textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-6)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="109.8" y="166.4"
textLength="12.2" clip-path="url(#breeze-release-management-publish- [...]
+</text><text class="breeze-release-management-publish-docs-r1" x="12.2"
y="117.6" textLength="24.4"
clip-path="url(#breeze-release-management-publish-docs-line-4)">| </text><text
class="breeze-release-management-publish-docs-r4" x="36.6" y="117.6"
textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-4)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="109.8" y="117.6"
textLength="12.2" clip-path="url(#breeze-release-management-publish- [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="142" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="142"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="142"
textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-5)" [...]
+</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="166.4" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-6)">apache</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="166.4"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-6)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="166.4"
textLength="109.8" clip-path="url(#breeze-release-management-publish-docs-l
[...]
</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="190.8" textLength="73.2"
clip-path="url(#breeze-release-management-publish-docs-line-7)">common</text><text
class="breeze-release-management-publish-docs-r1" x="85.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-release-management-publish-docs-line-7)">.</text><text
class="breeze-release-management-publish-docs-r4" x="97.6" y="190.8"
textLength="24.4" clip-path="url(#breeze-release-management-publish-docs-li
[...]
</text><text class="breeze-release-management-publish-docs-r4" x="12.2"
y="215.2" textLength="85.4"
clip-path="url(#breeze-release-management-publish-docs-line-8)">discord</text><text
class="breeze-release-management-publish-docs-r1" x="97.6" y="215.2"
textLength="36.6"
clip-path="url(#breeze-release-management-publish-docs-line-8)"> | </text><text
class="breeze-release-management-publish-docs-r4" x="134.2" y="215.2"
textLength="73.2" clip-path="url(#breeze-release-management-p [...]
</text><text class="breeze-release-management-publish-docs-r1" x="12.2"
y="239.6" textLength="24.4"
clip-path="url(#breeze-release-management-publish-docs-line-9)">| </text><text
class="breeze-release-management-publish-docs-r4" x="36.6" y="239.6"
textLength="109.8"
clip-path="url(#breeze-release-management-publish-docs-line-9)">hashicorp</text><text
class="breeze-release-management-publish-docs-r1" x="146.4" y="239.6"
textLength="36.6" clip-path="url(#breeze-release-management-publ [...]
diff --git a/dev/breeze/doc/images/output_release-management_publish-docs.txt
b/dev/breeze/doc/images/output_release-management_publish-docs.txt
index 6f1d035aa69..12e06cfa472 100644
--- a/dev/breeze/doc/images/output_release-management_publish-docs.txt
+++ b/dev/breeze/doc/images/output_release-management_publish-docs.txt
@@ -1 +1 @@
-5a1222737e7be788adc08aaab7e6221a
+7967a912265c05eb878af2ba3ddf2057
diff --git a/dev/breeze/doc/images/output_workflow-run_publish-docs.svg
b/dev/breeze/doc/images/output_workflow-run_publish-docs.svg
index c6550a857b0..845a7b6917b 100644
--- a/dev/breeze/doc/images/output_workflow-run_publish-docs.svg
+++ b/dev/breeze/doc/images/output_workflow-run_publish-docs.svg
@@ -183,9 +183,9 @@
</text><text class="breeze-workflow-run-publish-docs-r2" x="12.2" y="44.4"
textLength="1439.6"
clip-path="url(#breeze-workflow-run-publish-docs-line-1)">Usage:                                                       
[...]
</text><text class="breeze-workflow-run-publish-docs-r3" x="12.2" y="68.8"
textLength="1439.6"
clip-path="url(#breeze-workflow-run-publish-docs-line-2)">breeze workflow-run publish-docs                                                 
[...]
</text><text class="breeze-workflow-run-publish-docs-r1" x="12.2" y="93.2"
textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-3)">[</text><text
class="breeze-workflow-run-publish-docs-r4" x="24.4" y="93.2" textLength="85.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-3)">OPTIONS</text><text
class="breeze-workflow-run-publish-docs-r1" x="109.8" y="93.2"
textLength="36.6"
clip-path="url(#breeze-workflow-run-publish-docs-line-3)">] [</text><text
class="br [...]
-</text><text class="breeze-workflow-run-publish-docs-r1" x="12.2" y="117.6"
textLength="24.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-4)">| </text><text
class="breeze-workflow-run-publish-docs-r4" x="36.6" y="117.6"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-4)">apache</text><text
class="breeze-workflow-run-publish-docs-r1" x="109.8" y="117.6"
textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-4)">.</text><text
class="b [...]
-</text><text class="breeze-workflow-run-publish-docs-r4" x="12.2" y="142"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-5)">apache</text><text
class="breeze-workflow-run-publish-docs-r1" x="85.4" y="142" textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-5)">.</text><text
class="breeze-workflow-run-publish-docs-r4" x="97.6" y="142" textLength="85.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-5)">iceberg</text><text
class="breeze-w [...]
-</text><text class="breeze-workflow-run-publish-docs-r1" x="12.2" y="166.4"
textLength="24.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-6)">| </text><text
class="breeze-workflow-run-publish-docs-r4" x="36.6" y="166.4"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-6)">apache</text><text
class="breeze-workflow-run-publish-docs-r1" x="109.8" y="166.4"
textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-6)">.</text><text
class="b [...]
+</text><text class="breeze-workflow-run-publish-docs-r1" x="12.2" y="117.6"
textLength="24.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-4)">| </text><text
class="breeze-workflow-run-publish-docs-r4" x="36.6" y="117.6"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-4)">apache</text><text
class="breeze-workflow-run-publish-docs-r1" x="109.8" y="117.6"
textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-4)">.</text><text
class="b [...]
+</text><text class="breeze-workflow-run-publish-docs-r4" x="12.2" y="142"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-5)">apache</text><text
class="breeze-workflow-run-publish-docs-r1" x="85.4" y="142" textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-5)">.</text><text
class="breeze-workflow-run-publish-docs-r4" x="97.6" y="142" textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-5)">impala</text><text
class="breeze-wo [...]
+</text><text class="breeze-workflow-run-publish-docs-r4" x="12.2" y="166.4"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-6)">apache</text><text
class="breeze-workflow-run-publish-docs-r1" x="85.4" y="166.4"
textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-6)">.</text><text
class="breeze-workflow-run-publish-docs-r4" x="97.6" y="166.4"
textLength="109.8"
clip-path="url(#breeze-workflow-run-publish-docs-line-6)">tinkerpop</text><text
class= [...]
</text><text class="breeze-workflow-run-publish-docs-r4" x="12.2" y="190.8"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-7)">common</text><text
class="breeze-workflow-run-publish-docs-r1" x="85.4" y="190.8"
textLength="12.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-7)">.</text><text
class="breeze-workflow-run-publish-docs-r4" x="97.6" y="190.8"
textLength="24.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-7)">ai</text><text
class="breeze- [...]
</text><text class="breeze-workflow-run-publish-docs-r4" x="12.2" y="215.2"
textLength="85.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-8)">discord</text><text
class="breeze-workflow-run-publish-docs-r1" x="97.6" y="215.2"
textLength="36.6"
clip-path="url(#breeze-workflow-run-publish-docs-line-8)"> | </text><text
class="breeze-workflow-run-publish-docs-r4" x="134.2" y="215.2"
textLength="73.2"
clip-path="url(#breeze-workflow-run-publish-docs-line-8)">docker</text><t [...]
</text><text class="breeze-workflow-run-publish-docs-r1" x="12.2" y="239.6"
textLength="24.4"
clip-path="url(#breeze-workflow-run-publish-docs-line-9)">| </text><text
class="breeze-workflow-run-publish-docs-r4" x="36.6" y="239.6"
textLength="109.8"
clip-path="url(#breeze-workflow-run-publish-docs-line-9)">hashicorp</text><text
class="breeze-workflow-run-publish-docs-r1" x="146.4" y="239.6"
textLength="36.6"
clip-path="url(#breeze-workflow-run-publish-docs-line-9)"> | </tex
[...]
diff --git a/dev/breeze/doc/images/output_workflow-run_publish-docs.txt
b/dev/breeze/doc/images/output_workflow-run_publish-docs.txt
index 5bebcab9ed4..4d64c05aefd 100644
--- a/dev/breeze/doc/images/output_workflow-run_publish-docs.txt
+++ b/dev/breeze/doc/images/output_workflow-run_publish-docs.txt
@@ -1 +1 @@
-1a5d3d1a76f284aae5195840496a5b2b
+46e32fc6adb71c667231a207e063e291
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 0f48fea0609..2046934872e 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -887,11 +887,11 @@ def prepare_provider_documentation(
suspended_packages = []
removed_packages = []
for provider_id in provider_distributions:
- provider_metadata = basic_provider_checks(provider_id)
- if os.environ.get("GITHUB_ACTIONS", "false") != "true":
- if not only_min_version_update:
- get_console().print("-" * get_console().width)
try:
+ provider_metadata = basic_provider_checks(provider_id)
+ if os.environ.get("GITHUB_ACTIONS", "false") != "true":
+ if not only_min_version_update:
+ get_console().print("-" * get_console().width)
with_breaking_changes = False
maybe_with_new_features = False
with ci_group(
diff --git a/dev/breeze/src/airflow_breeze/utils/packages.py
b/dev/breeze/src/airflow_breeze/utils/packages.py
index 8033d41f144..1c7a3e0dd92 100644
--- a/dev/breeze/src/airflow_breeze/utils/packages.py
+++ b/dev/breeze/src/airflow_breeze/utils/packages.py
@@ -893,6 +893,8 @@ def regenerate_pyproject_toml(
in_required_dependencies = False
in_optional_dependencies = False
in_additional_devel_dependency_groups = False
+ suspended_provider_ids = get_suspended_provider_ids()
+
for line in pyproject_toml_content.splitlines():
if line == "dependencies = [":
in_required_dependencies = True
@@ -946,6 +948,11 @@ def regenerate_pyproject_toml(
cross_provider_dependencies = []
# Add cross-provider dependencies to the optional dependencies if they are
missing
for provider_id in sorted(cross_provider_ids):
+ if provider_id in suspended_provider_ids:
+ get_console().print(
+ f"[info]Provider {provider_id} in suspended list, skipping
adding to optional dependencies.\n"
+ )
+ continue
cross_provider_dependencies.append(f'
"{get_pip_package_name(provider_id)}",')
if f'"{provider_id}" = [' not in optional_dependencies and
get_pip_package_name(
provider_id
diff --git a/dev/breeze/tests/test_packages.py
b/dev/breeze/tests/test_packages.py
index 010745e6791..b48062f93d1 100644
--- a/dev/breeze/tests/test_packages.py
+++ b/dev/breeze/tests/test_packages.py
@@ -118,12 +118,12 @@ def test_get_removed_providers():
def test_get_suspended_provider_ids():
# Modify it every time we suspend/resume provider
- assert get_suspended_provider_ids() == []
+ assert get_suspended_provider_ids() == ["apache.beam"]
def test_get_suspended_provider_folders():
# Modify it every time we suspend/resume provider
- assert get_suspended_provider_folders() == []
+ assert get_suspended_provider_folders() == ["apache/beam"]
@pytest.mark.parametrize(
diff --git a/devel-common/src/tests_common/test_utils/providers.py
b/devel-common/src/tests_common/test_utils/providers.py
index bdd634c7275..6c602da3cff 100644
--- a/devel-common/src/tests_common/test_utils/providers.py
+++ b/devel-common/src/tests_common/test_utils/providers.py
@@ -18,6 +18,9 @@
from __future__ import annotations
import semver
+import yaml
+
+from tests_common.test_utils.paths import AIRFLOW_PROVIDERS_ROOT_PATH
def object_exists(path: str):
@@ -62,3 +65,20 @@ def get_provider_min_airflow_version(provider_name: str) ->
tuple[int, ...]:
f"The provider should have `apache-airflow>=` in their
dependencies: {provider_name}"
)
return Version(airflow_dep.split(">=")[1]).release
+
+
+# Ignore module import errors for any suspended provider paths used in example
dags
+IGNORE_MODULE_IMPORT_ERRORS: list[str] = ["airflow.providers.apache.beam"]
+
+
+def get_suspended_providers_folders() -> list[str]:
+ """
+ Returns a list of suspended providers folders that should be
+ skipped when running tests (without any prefix - for example apache/beam,
yandex, google etc.).
+ """
+ suspended_providers = []
+ for provider_path in AIRFLOW_PROVIDERS_ROOT_PATH.rglob("provider.yaml"):
+ provider_yaml = yaml.safe_load(provider_path.read_text())
+ if provider_yaml["state"] == "suspended":
+
suspended_providers.append(provider_path.parent.resolve().as_posix())
+ return suspended_providers
diff --git a/providers/apache/beam/provider.yaml
b/providers/apache/beam/provider.yaml
index e7820487052..41d3a80995f 100644
--- a/providers/apache/beam/provider.yaml
+++ b/providers/apache/beam/provider.yaml
@@ -21,9 +21,9 @@ name: Apache Beam
description: |
`Apache Beam <https://beam.apache.org/>`__.
-state: ready
+state: suspended
+source-date-epoch: 1768334134
lifecycle: production
-source-date-epoch: 1772063928
# Note that those versions are maintained by release manager - do not update
them manually
# with the exception of case where other provider in sources has >= new
provider version.
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider
have
diff --git a/providers/google/pyproject.toml b/providers/google/pyproject.toml
index 0d59b2490a7..1175400a23e 100644
--- a/providers/google/pyproject.toml
+++ b/providers/google/pyproject.toml
@@ -146,9 +146,6 @@ dependencies = [
# The optional dependencies should be modified in place in the generated file
# Any change in the dependencies is preserved when the file is regenerated
[project.optional-dependencies]
-"apache.beam" = [
- "apache-airflow-providers-apache-beam>=6.2.2",
-]
"cncf.kubernetes" = [
"apache-airflow-providers-cncf-kubernetes>=10.1.0",
]
@@ -216,7 +213,6 @@ dev = [
"apache-airflow-task-sdk",
"apache-airflow-devel-common",
"apache-airflow-providers-amazon",
- "apache-airflow-providers-apache-beam",
"apache-airflow-providers-apache-cassandra",
"apache-airflow-providers-cncf-kubernetes",
"apache-airflow-providers-common-compat",
diff --git a/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py
b/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py
index cc4101f6128..28d06fde772 100644
--- a/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py
+++ b/providers/google/tests/unit/google/cloud/hooks/test_dataflow.py
@@ -28,6 +28,11 @@ from unittest.mock import MagicMock
from uuid import UUID
import pytest
+
+# TODO: Remove below skip once beam provider changed to ready state
+pytest.importorskip("apache-beam", reason="apache-beam package suspended due
to grpcio limitation")
+
+
from google.cloud.dataflow_v1beta3 import (
GetJobMetricsRequest,
GetJobRequest,
diff --git
a/providers/google/tests/unit/google/cloud/operators/test_dataflow.py
b/providers/google/tests/unit/google/cloud/operators/test_dataflow.py
index 90b444dd6c4..d4442a1c520 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_dataflow.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_dataflow.py
@@ -21,6 +21,10 @@ from unittest import mock
import httplib2
import pytest
+
+# TODO: Remove below skip once beam provider changed to ready state
+pytest.importorskip("apache-beam", reason="apache-beam package suspended due
to grpcio limitation")
+
from googleapiclient.errors import HttpError
from airflow.providers.common.compat.sdk import AirflowException
diff --git
a/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py
b/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py
index 42dae664644..14dbe700f27 100644
--- a/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py
+++ b/providers/google/tests/unit/google/cloud/operators/test_datapipeline.py
@@ -21,6 +21,9 @@ from unittest import mock
import pytest
+# TODO: Remove below skip once beam provider changed to ready state
+pytest.importorskip("apache-beam", reason="apache-beam package suspended due
to grpcio limitation")
+
from airflow.providers.google.cloud.operators.dataflow import (
DataflowCreatePipelineOperator,
DataflowRunPipelineOperator,
diff --git a/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py
b/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py
index 21cdca18328..26e6549f535 100644
--- a/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py
+++ b/providers/google/tests/unit/google/cloud/sensors/test_dataflow.py
@@ -21,6 +21,9 @@ from unittest import mock
import pytest
+# TODO: Remove below skip once beam provider changed to ready state
+pytest.importorskip("apache-beam", reason="apache-beam package suspended due
to grpcio limitation")
+
from airflow.providers.common.compat.sdk import AirflowException, TaskDeferred
from airflow.providers.google.cloud.hooks.dataflow import DataflowJobStatus
from airflow.providers.google.cloud.sensors.dataflow import (
diff --git a/providers/google/tests/unit/google/cloud/triggers/test_dataflow.py
b/providers/google/tests/unit/google/cloud/triggers/test_dataflow.py
index 64c27dbb484..6babdd11d24 100644
--- a/providers/google/tests/unit/google/cloud/triggers/test_dataflow.py
+++ b/providers/google/tests/unit/google/cloud/triggers/test_dataflow.py
@@ -22,6 +22,10 @@ import logging
from unittest import mock
import pytest
+
+# TODO: Remove below skip once beam provider changed to ready state
+pytest.importorskip("apache-beam", reason="apache-beam package suspended due
to grpcio limitation")
+
from google.cloud.dataflow_v1beta3 import Job, JobState, JobType
from airflow.providers.google.cloud.hooks.dataflow import DataflowJobStatus
diff --git
a/providers/google/tests/unit/google/cloud/utils/test_mlengine_prediction_summary.py
b/providers/google/tests/unit/google/cloud/utils/test_mlengine_prediction_summary.py
index c152c56ba03..e9ca519b3f1 100644
---
a/providers/google/tests/unit/google/cloud/utils/test_mlengine_prediction_summary.py
+++
b/providers/google/tests/unit/google/cloud/utils/test_mlengine_prediction_summary.py
@@ -24,6 +24,10 @@ from unittest import mock
import dill
import pytest
+# TODO: Remove below skip once beam provider changed to ready state
+pytest.importorskip("apache-beam", reason="apache-beam package suspended due
to grpcio limitation")
+
+
if sys.version_info < (3, 12):
from airflow.providers.google.cloud.utils import
mlengine_prediction_summary
else:
diff --git a/pyproject.toml b/pyproject.toml
index df157b2e2d4..60200e40fc4 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -105,9 +105,6 @@ packages = []
"amazon" = [
"apache-airflow-providers-amazon>=9.0.0"
]
-"apache.beam" = [
- "apache-airflow-providers-apache-beam>=5.8.1"
-]
"apache.cassandra" = [
"apache-airflow-providers-apache-cassandra>=3.7.0"
]
@@ -399,7 +396,6 @@ packages = []
"apache-airflow-providers-airbyte>=5.0.0",
"apache-airflow-providers-alibaba>=3.0.0",
"apache-airflow-providers-amazon>=9.0.0",
- "apache-airflow-providers-apache-beam>=5.8.1",
"apache-airflow-providers-apache-cassandra>=3.7.0",
"apache-airflow-providers-apache-drill>=2.8.1",
"apache-airflow-providers-apache-druid>=3.12.0",
@@ -1056,8 +1052,6 @@ mypy_path = [
"$MYPY_CONFIG_FILE_DIR/providers/alibaba/tests",
"$MYPY_CONFIG_FILE_DIR/providers/amazon/src",
"$MYPY_CONFIG_FILE_DIR/providers/amazon/tests",
- "$MYPY_CONFIG_FILE_DIR/providers/apache/beam/src",
- "$MYPY_CONFIG_FILE_DIR/providers/apache/beam/tests",
"$MYPY_CONFIG_FILE_DIR/providers/apache/cassandra/src",
"$MYPY_CONFIG_FILE_DIR/providers/apache/cassandra/tests",
"$MYPY_CONFIG_FILE_DIR/providers/apache/drill/src",
@@ -1378,7 +1372,6 @@ apache-airflow-shared-timezones = { workspace = true }
apache-airflow-providers-airbyte = { workspace = true }
apache-airflow-providers-alibaba = { workspace = true }
apache-airflow-providers-amazon = { workspace = true }
-apache-airflow-providers-apache-beam = { workspace = true }
apache-airflow-providers-apache-cassandra = { workspace = true }
apache-airflow-providers-apache-drill = { workspace = true }
apache-airflow-providers-apache-druid = { workspace = true }
@@ -1508,7 +1501,6 @@ members = [
"providers/airbyte",
"providers/alibaba",
"providers/amazon",
- "providers/apache/beam",
"providers/apache/cassandra",
"providers/apache/drill",
"providers/apache/druid",
diff --git a/scripts/ci/prek/common_prek_utils.py
b/scripts/ci/prek/common_prek_utils.py
index 2f0af7f9306..c26c4888c6e 100644
--- a/scripts/ci/prek/common_prek_utils.py
+++ b/scripts/ci/prek/common_prek_utils.py
@@ -345,7 +345,7 @@ def get_provider_base_dir_from_path(file_path: Path) ->
Path | None:
return None
-def get_all_provider_ids() -> list[str]:
+def get_all_provider_ids(exclude_suspended_providers: bool = False) ->
list[str]:
"""
Get all providers from the new provider structure
"""
@@ -353,6 +353,12 @@ def get_all_provider_ids() -> list[str]:
for provider_file in AIRFLOW_PROVIDERS_ROOT_PATH.rglob("provider.yaml"):
if provider_file.is_relative_to(AIRFLOW_PROVIDERS_ROOT_PATH / "src"):
continue
+ if exclude_suspended_providers:
+ import yaml
+
+ provider_info = yaml.safe_load(provider_file.read_text())
+ if provider_info.get("state") == "suspended":
+ continue
provider_id = get_provider_id_from_path(provider_file)
if provider_id:
all_provider_ids.append(provider_id)
diff --git a/scripts/ci/prek/update_airflow_pyproject_toml.py
b/scripts/ci/prek/update_airflow_pyproject_toml.py
index b3bf8369e0d..98867a496e5 100755
--- a/scripts/ci/prek/update_airflow_pyproject_toml.py
+++ b/scripts/ci/prek/update_airflow_pyproject_toml.py
@@ -22,6 +22,7 @@
# "packaging>=25",
# "rich>=13.6.0",
# "tomli>=2.0.1",
+# "pyyaml",
# ]
# ///
"""
@@ -235,7 +236,7 @@ if __name__ == "__main__":
all_optional_dependencies.append(f'"{optional}" = [\n
"apache-airflow-core[{optional}]"\n]\n')
optional_airflow_task_sdk_dependencies =
get_optional_dependencies(AIRFLOW_TASK_SDK_PYPROJECT_TOML_FILE)
all_optional_dependencies.append('"all-task-sdk" = [\n
"apache-airflow-task-sdk[all]"\n]\n')
- all_providers = sorted(get_all_provider_ids())
+ all_providers =
sorted(get_all_provider_ids(exclude_suspended_providers=True))
all_provider_lines = []
for provider_id in all_providers:
distribution_name = provider_distribution_name(provider_id)
diff --git a/scripts/in_container/run_provider_yaml_files_check.py
b/scripts/in_container/run_provider_yaml_files_check.py
index e459a9b24b8..bf6e104db6a 100755
--- a/scripts/in_container/run_provider_yaml_files_check.py
+++ b/scripts/in_container/run_provider_yaml_files_check.py
@@ -608,6 +608,14 @@ def check_doc_files(yaml_files: dict[str, dict]) ->
tuple[int, int]:
for f in expected_relative_doc_files
if f.name != "index.rst" and "_partials" not in f.parts and f.parts[2]
== "docs"
}
+
+ expected_doc_urls = {
+ doc_url
+ for doc_url in expected_doc_urls
+ for suspend_provider in suspended_providers
+ if suspend_provider not in doc_url
+ }
+
if suspended_logos:
console.print("[yellow]Suspended logos:[/]")
console.print(suspended_logos)
@@ -760,6 +768,16 @@ if __name__ == "__main__":
check_invalid_integration(all_parsed_yaml_files)
check_providers_are_mentioned_in_issue_template(all_parsed_yaml_files)
+ # remove errors related to suspended module imports.
+ print("suspended_providers ", suspended_providers)
+ if suspended_providers and errors:
+ errors = [
+ error
+ for error in errors
+ for module in suspended_providers
+ if f"No module named '{module.replace('apache-', '',
1).replace('-', '.')}'" not in error
+ ]
+
if errors:
error_num = len(errors)
console.print(f"[red]Found {error_num} error{'' if error_num == 1 else
's'} in providers[/]")
diff --git a/scripts/in_container/verify_providers.py
b/scripts/in_container/verify_providers.py
index 66568c8f4eb..5f2ffcdb8c8 100755
--- a/scripts/in_container/verify_providers.py
+++ b/scripts/in_container/verify_providers.py
@@ -47,6 +47,14 @@ ALL_DEPENDENCIES =
json.loads(GENERATED_PROVIDERS_DEPENDENCIES_FILE.read_text())
USE_AIRFLOW_VERSION = os.environ.get("USE_AIRFLOW_VERSION") or ""
IS_AIRFLOW_VERSION_PROVIDED = re.match(r"^(\d+)\.(\d+)\.(\d+)\S*$",
USE_AIRFLOW_VERSION)
+SKIP_IMPORTING_PACKAGES: list[str] = [
+ "airflow.providers.google.cloud.utils.mlengine_prediction_summary",
+ "airflow.providers.google.cloud.operators.dataflow",
+ "airflow.providers.google.cloud.hooks.dataflow",
+ "airflow.providers.google.cloud.sensors.dataflow",
+ "airflow.providers.google.cloud.triggers.dataflow",
+]
+
class EntityType(Enum):
Operators = "Operators"
@@ -177,6 +185,12 @@ def import_all_classes(
if print_skips:
console.print(f"Skipping module: {modinfo.name}")
continue
+
+ if modinfo.name in SKIP_IMPORTING_PACKAGES:
+ if print_skips:
+ console.print(f"Skipping module: {modinfo.name}")
+ continue
+
if print_imports:
package_to_print = modinfo.name.rpartition(".")[0]
if package_to_print not in printed_packages: