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: 9d95d0d64185a3b1b6db6020e41b09f23c5e1920 / LIU ZHE YOU <[email protected]> Bind Python temporal and UUID arguments to their native Go types A stub parameter annotated datetime, date, time, timedelta or UUID reaches the Go SDK as a formatted string, because that is how the Dag serializes it. The declared-type check compared the schema's JSON type against the Go parameter's kind, which cannot describe those values: time.Time is a struct and uuid.UUID an array, so the natural Go type was rejected before the task body ran. The schema's format now decides, and it decides in both directions. A Go parameter the Dag's declared type cannot fill is rejected rather than bound to something the author never meant -- including a plain integer onto a time.Duration, which would have been read as a count of nanoseconds. anyOf unions are judged too, instead of skipping the check for want of a "type" keyword, and a union that admits null now requires a Go type that can hold it. Values nested in a list or dict are bound the same way, so a list[timedelta] no longer dies inside encoding/json. time.Time being a struct also meant a task whose only data parameter was a timestamp took the name-binding path, matched no field, and ran with the zero time; it binds positionally now. Report URL: https://github.com/apache/airflow/actions/runs/31777581783 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
