henry3260 opened a new pull request, #73963:
URL: https://github.com/apache/airflow/pull/73963

   ## Why
   
   `go-sdk/pkg/execution/genmodels/models.gen.go` is generated from the 
supervisor wire-schema
   snapshot the Python Task SDK owns, and it had fallen two fields behind it. 
The snapshot moved
   in #73224 and #73027; the models were last regenerated in #73531, before 
both.
   
   Nothing failed, which is the problem: msgpack drops a field the struct does 
not declare, so
   the supervisor sent `multi_team` and `retry_reason` and the Go SDK could not 
see them. The
   only thing watching was `TestSupervisorSchemaVersionMatchesSnapshot`, and a 
snapshot can grow
   a property without `api_version` moving — which is exactly what happened.
   
   The Dag specs had the same exposure and got a check for it in #73936. Making 
that check cover
   both generated surfaces is what keeps this from happening again.
   
   closes: #73954
   
   ## What
   
   `models.gen.go` regenerated: `TIRunContext.MultiTeam` and 
`TaskState.RetryReason` are added,
   nothing is removed, and the rest of the diff is go-jsonschema reordering its 
type
   declarations.
   
   `scripts/ci/prek/check_go_sdk_spec_drift.py` becomes
   `scripts/ci/prek/check_go_sdk_generated_drift.py` and takes a table of 
targets instead of one
   hard-coded path — the Dag specs and the coordinator-protocol models — 
regenerating each and
   asking Git whether the committed files changed. Each target names the schema 
it generates from
   and what to weigh before committing: for the specs, the exclusion list in
   `internal/genspec/authoring.go`; for the models, nothing, since nothing is 
excluded from them.
   The hook (`check-go-sdk-generated-drift`) watches both schemas and both 
generators.
   
   `go-sdk/README.md` no longer says the version-constant test makes a prek 
hook unnecessary,
   since that test is what missed this.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to