Skip to content

Commit b1667f3

Browse files
potiukclaude
andauthored
Skip Airflow 2 constraints for providers released after May 2025 (#62800)
Providers released from May 2025 onward only target Airflow 3, so scanning Airflow 2.x constraint files for them is unnecessary work and can produce misleading associations. The fab provider 1.5.* series is exempt because it still ships backport fixes for Airflow 2. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 711d204 commit b1667f3

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

dev/breeze/src/airflow_breeze/utils/provider_dependencies.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,9 +324,20 @@ def generate_providers_metadata_for_provider(
324324
get_console().print(
325325
f"[info]Checking provider {provider_id} version {current_provider_version} released on {provider_date_released}"
326326
)
327-
airflow_date_released = airflow_release_dates[all_airflow_releases[0]]
327+
# For providers released after May 2025, skip Airflow 2.x constraint files —
328+
# those providers only target Airflow 3. The fab provider 1.5.* series is exempt
329+
# because it still ships backport fixes for Airflow 2.
330+
skip_airflow_2 = provider_date_released >= "2025-05-01" and not (
331+
provider_id == "fab" and current_provider_version.startswith("1.5.")
332+
)
333+
effective_airflow_releases = (
334+
[v for v in all_airflow_releases if not v.startswith("2.")]
335+
if skip_airflow_2
336+
else all_airflow_releases
337+
)
338+
airflow_date_released = airflow_release_dates[effective_airflow_releases[0]]
328339
last_airflow_version = START_AIRFLOW_VERSION_FROM
329-
for airflow_version in all_airflow_releases:
340+
for airflow_version in effective_airflow_releases:
330341
airflow_date_released = airflow_release_dates[airflow_version]
331342
if get_verbose():
332343
get_console().print(
@@ -379,7 +390,7 @@ def generate_providers_metadata_for_provider(
379390
if last_airflow_version == START_AIRFLOW_VERSION_FROM:
380391
# If we did not find any Airflow version that is associated with this provider version
381392
# we will add the latest released Airflow version
382-
last_airflow_version = all_airflow_releases[-1]
393+
last_airflow_version = effective_airflow_releases[-1]
383394
old_provider_metadata_for_version = old_provider_metadata.get(current_provider_version, {})
384395
new_provider_metadata_for_version = {
385396
"associated_airflow_version": last_airflow_version,

0 commit comments

Comments
 (0)