The GitHub Actions job "Tests (AMD)" on airflow.git/feature/go-sdk/taskflow-arg-binding has failed. Run started by GitHub user jason810496 (triggered by jason810496).
Head commit for run: 3a2cad0fe94b2db8cb78302d7dceeadf85054d73 / LIU ZHE YOU <[email protected]> Fix Go SDK TaskFlow argument binding at depth and on Edge Workers The Edge Worker's execution API carries no argument spec at all, so failing a task there for an argument-count mismatch blamed the Dag author for a limit of the transport. Keeping data parameters at their Go zero values is how those tasks behaved before binding existed, and that path is in maintenance rather than gaining the spec. Registration rejected struct shapes that decode without complaint -- a struct carrying a callback alongside its data never needed the callback filled -- and because registering a task panics, one such signature took its whole bundle down at startup rather than the single task. Adding a defaulted parameter to a stub is backwards compatible in Python, and has to stay so for the Go functions already bound to that stub: the captured default reaches the wire but needs no Go parameter to receive it. Values whose Python spelling encoding/json cannot read were only reached as a whole argument or one container deep, so a duration or date sitting in a struct field failed even against a schema that described it correctly. Walking the target type once ahead of the decode reaches them wherever they sit, and lets a type that decodes itself from JSON past the schema check that was judging it by its Go kind. Untagged fields matched a Go field name verbatim, which no idiomatic snake_case stub parameter can produce, so tags were mandatory in practice and a mismatch quietly fell back to decoding the argument whole. Folding case and underscores makes the untagged form usable, and embedded structs now contribute their fields the way encoding/json has all along. Report URL: https://github.com/apache/airflow/actions/runs/32092253320 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
