Skip to content

Skip common.ai provider from Airflow 3.0-3.2 CI compatibility tests - #72550

Closed
rjgoyln wants to merge 2 commits into
apache:mainfrom
rjgoyln:fix/compat-skip-common-ai-old-constraints
Closed

Skip common.ai provider from Airflow 3.0-3.2 CI compatibility tests#72550
rjgoyln wants to merge 2 commits into
apache:mainfrom
rjgoyln:fix/compat-skip-common-ai-old-constraints

Conversation

@rjgoyln

@rjgoyln rjgoyln commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Compat 3.0.6, Compat 3.1.8, and Compat 3.2.2 have been failing on main since 2026-09-04, all in providers/common/ai:

  • cannot import name 'EventSource' from 'httpx2'
  • FastMCP client support is not installed

The issue is caused by the old frozen constraints used by these jobs. common.ai requires pydantic-ai-slim>=2.0.0, but the 3.0-3.2 constraint sets pin incompatible dependency versions. Installing today's provider wheels with --providers-skip-constraints therefore creates a mixed environment that fails when the provider is imported.

Compat 3.3.1 passes, and 2.11.1 already skips this provider.

We should not raise the provider's apache-airflow floor: Airflow 3.0-3.2 do not impose upper bounds on the relevant dependencies, so common.ai still supports those releases outside the frozen constraints.

The prov:LowestDeps failures in the same canary are an unrelated ibm.mq pre-extras download flake, addressed separately in #71544.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 5)

Generated-by: Claude Code (Opus 5) following the guidelines

🤖 Generated with Claude Code

The provider's dependency floor sits above what those releases' constraint
sets allow, so the compatibility jobs installed a mismatched environment and
every common.ai test failed at import, turning main's canary red.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rjgoyln
rjgoyln force-pushed the fix/compat-skip-common-ai-old-constraints branch from cb60bbc to 29506f5 Compare September 5, 2026 13:28
@rjgoyln rjgoyln changed the title Skip the common.ai provider in Airflow 3.0-3.2 compatibility tests Skip common.ai provider from Airflow 3.0-3.2 CI compatibility tests Sep 5, 2026
@rjgoyln
rjgoyln marked this pull request as ready for review September 5, 2026 13:36
The OpenSearch remote logging e2e job failed before any test ran, when
docker compose could not bring the environment up.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
"python-version": "3.10",
"airflow-version": "3.0.6",
"remove-providers": "",
"remove-providers": "common.ai",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC, adding common.ai to remove-providers means these three jobs stop running the provider entirely, not just the failing MCP tests. The workflow deletes the wheel before installing and passes the same list as --skip-providers, which breeze turns into --ignore=providers/common/ai/tests.

- name: Remove incompatible Airflow ${{ matrix.compat.airflow-version }}:Python ${{ matrix.compat.python-version }} provider distributions
env:
REMOVE_PROVIDERS: ${{ matrix.compat.remove-providers }}
run: |
for provider in ${REMOVE_PROVIDERS}; do
echo "Removing incompatible provider: ${provider}"
rm -vf dist/apache_airflow_providers_${provider/./_}-*
done
if: matrix.compat.remove-providers != ''

--skip-providers "${REMOVE_PROVIDERS}"

if skip_providers:
ignored_path_list = [
*[
f"--ignore=providers/{provider_id.replace('.', '/')}/tests"
for provider_id in skip_providers.split(" ")
],
]
extra_pytest_args = (*extra_pytest_args, *ignored_path_list)

#72581 pin devel dependencies to uv.lock, so it doesn't need to skip common.ai provider. WDYT?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I checked #72581, and I agree that approach is better. It addresses the dependency issue without having to skip common.ai, so I’ll close this PR.

@rjgoyln rjgoyln closed this Sep 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants