The GitHub Actions job "Tests (AMD)" on airflow.git/aip99-crewai has failed.
Run started by GitHub user kaxil (triggered by kaxil).

Head commit for run:
4e4de2b8f41b69bdefe2bf6b25b7c6ee3d7e5b26 / Kaxil Naik <[email protected]>
Use dedicated crewai conn_type and reject non-OpenAI-compatible providers

CrewAI's ``LLM`` is a thin LiteLLM wrapper that takes model identifiers in
LiteLLM's ``provider/name`` slash format (e.g. ``openai/gpt-4o``). This
is distinct from pydantic-ai's ``provider:name`` colon format, so reusing
the ``pydanticai`` conn_type was wrong on two counts: the connection's
``model`` UI field is documented as colon-format, and the four
pydanticai-* conn shapes don't map uniformly to CrewAI either.

- Own ``crewai`` connection type with a ``model`` conn-field documenting
  the LiteLLM slash convention explicitly. ``default_conn_name`` resolves
  at runtime via ``llm_conn_id: str | None = None``.
- ``_resolve_model_id`` honours ``extra["model"]`` as a fallback via
  ``conn.extra_dejson`` (parity with PydanticAIHook / LangChainHook).
- ``_check_provider_supported`` raises ``NotImplementedError`` for
  ``bedrock/``, ``vertex_ai/``, ``azure/`` model prefixes. Their auth
  surface needs region/IAM, project/location, or endpoint+api_version
  kwargs that this hook does not extract; better to fail loudly than to
  construct an unusable LLM that explodes mid-agent loop. Per-vendor
  subclasses are a follow-up.
- ``get_ui_field_behaviour`` and ``@staticmethod`` on helpers.
- ``[crewai]`` extra pins ``crewai>=1.14.5; python_version < "3.14"``:
  1.14.0 was yanked (anthropic dep conflict); 1.14.1-1.14.4 require
  ``click<8.2`` which conflicts with apache-airflow-breeze's
  ``click>=8.3``. crewai 1.14.x ships only ``<3.14`` wheels.
- Honest "Supported providers" docs: only ``openai/`` and ``anthropic/``
  work with the base ``crewai`` install (anthropic SDK is a hard
  runtime dep of crewai). Other LiteLLM-routed providers need the
  ``crewai[litellm]`` extra plus the vendor SDK installed separately;
  the hook does not pull them in. Drops the false "LiteLLM is a
  transitive dependency" claim.
- ``example_crewai_stock_analysis.py``: separate ``crewai_default`` and
  ``pydanticai_default`` connections (mixed model formats in one conn
  were mutually exclusive, so the marquee example couldn't run as-is).
  Pass ``model_id="openai:gpt-4o"`` explicitly to ``LLMOperator``. Add
  ``execution_timeout=10m`` to the mapped CrewAI task so a stuck ticker
  doesn't hold a worker slot indefinitely. ``Param`` import goes
  through ``common.compat.sdk`` per the provider convention.
- New ``example_crewai_hook.py``: minimal single-task pattern with
  ``[START howto_hook_crewai_basic]`` markers for the docs to
  ``exampleinclude`` (mirrors the LangChainHook docs pattern).

Local note: the ``Validate provider.yaml files`` prek hook will fail
until ~2026-05-22 because of the 4-day ``exclude-newer`` cutoff in
Airflow's uv config (crewai 1.14.5 was published 2026-05-18). Upstream
CI will resolve once the 4-day window catches up.

Report URL: https://github.com/apache/airflow/actions/runs/26134695786

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to