<#7053 feat(runs): populate missing ActionStatus f...
# flyte-github
a
#7053 feat(runs): populate missing ActionStatus fields in WatchRuns and ListRuns Pull request opened by mvanhorn Tracking issue Closes #6981 Why are the changes needed? The WatchRuns and ListRuns API responses only return
phase
in ActionStatus, leaving
start_time
,
end_time
,
attempts
, and
duration_ms
empty. The issue documents a field-by-field audit showing these 5 fields as "Need implement." The
GetActionDetails
endpoint (
actionModelToDetails
at
runs/service/run_service.go:839
) already populates these fields correctly. The other four conversion functions that build ActionStatus objects were only setting Phase. What changes were proposed in this pull request? Updated 4 ActionStatus construction sites in
runs/service/run_service.go
to populate
StartTime
,
EndTime
,
Attempts
, and
DurationMs
, following the pattern from `actionModelToDetails`: | Function | Line | Fields added | | -------------------------------- | ----- | ---------------------------------------- | | GetRunDetails | ~289 | StartTime, Attempts, EndTime, DurationMs | | convertRunToProto | ~955 | StartTime, Attempts, EndTime, DurationMs | | convertActionToEnrichedProto | ~981 | StartTime, Attempts, EndTime, DurationMs | | convertNodeUpdateToEnrichedProto | ~1021 | StartTime, Attempts, EndTime, DurationMs | •
StartTime
is set from
CreatedAt
(always available) •
EndTime
is set from
EndedAt
when the action has terminated (
EndedAt.Valid
) •
DurationMs
is computed as
EndedAt - CreatedAt
in milliseconds (only when terminated) •
Attempts
is set to 1 (matching the existing
actionModelToDetails
pattern) Not included:
CacheStatus
is not set in this PR because the Action model does not expose cache status as a direct field. It lives inside the
ActionDetails
JSON blob and would need a separate deserialization step. How was this patch tested? •
go fmt ./...
and
go vet ./...
pass clean on the
runs/
module • Changes follow the identical pattern already in use at
actionModelToDetails
(line 839), which serves the
GetActionDetails
endpoint This contribution was developed with AI assistance (Claude Code + Codex). Labels • changed: Populates previously empty ActionStatus fields. •
main
• #6583 • feat(runs): populate missing ActionStatus fields in WatchRuns and ListRuns 👈 flyteorg/flyte