The GitHub Actions job "Tests (AMD)" on 
airflow.git/feature/lang-sdk/taskflow-stub-dag has failed.
Run started by GitHub user jason810496 (triggered by jason810496).

Head commit for run:
b9718e7d9ad1cf3643bff6ab17f8827477ebad8a / LIU ZHE YOU <[email protected]>
Support dynamic task mapping on stub tasks

Banning .expand() on @task.stub blocked a core dynamic-mapping pattern
for foreign-runtime Dags with no workaround. A mapped stub never
instantiates at parse time, so instead of a parse-time capture, ti_run
now derives the per-map-index arg spec from the serialized expand
input, mirroring the task-sdk's DictOfListsExpandInput index
decomposition: literal expands resolve to their element server-side,
expands over a mapped upstream bind that upstream's XCom row via the
new map_index field, and expands over an unmapped upstream's output
carry the new element_index field so the runtime picks the right
element of the pulled list. Value schemas stay parse-time-only and are
omitted for mapped stubs, falling back to the decode-only contract.

The derivation grew into enough business logic that it lives in a new
execution_api services package (mirroring core_api's services layout)
rather than the routes module, and the generic map-index decomposition
sits on SchedulerDictOfListsExpandInput beside its map-length helpers,
mirroring where the task-sdk twin keeps the same arithmetic.

The supports_expand opt-out this branch added to the task-sdk decorator
machinery existed only for the stub ban, so it is reverted. Stubs with
arguments inside a mapped task group stay rejected: those instances
have no expand input of their own to derive bindings from.

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

With regards,
GitHub Actions via GitBox


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

Reply via email to