fix(tenant): finalize definitive/manual-retry publish tasks as failed
Desktop Client Build / Resolve Build Metadata (push) Successful in 58s
Backend CI / Backend (push) Failing after 12m16s
Frontend CI / Frontend (push) Successful in 5m5s
Desktop Client Build / Build Desktop Client (push) Successful in 23m55s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 41s
Desktop Client Build / Resolve Build Metadata (push) Successful in 58s
Backend CI / Backend (push) Failing after 12m16s
Frontend CI / Frontend (push) Successful in 5m5s
Desktop Client Build / Build Desktop Client (push) Successful in 23m55s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 41s
Add normalizeDesktopTaskCompletionStatusForTask so an "unknown" publish completion is downgraded to "failed" when the payload is a manual retry or the error matches a definitive publish failure, instead of leaving it stuck as unknown. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -204,6 +204,40 @@ func TestNormalizeDesktopTaskCompletionStatusForKindFailsMonitorUnknown(t *testi
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizeDesktopTaskCompletionStatusForTaskFailsDefinitivePublishUnknown(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
got := normalizeDesktopTaskCompletionStatusForTask(
|
||||
"publish",
|
||||
"unknown",
|
||||
nil,
|
||||
[]byte(`{"publish_submit_uncertain":true,"code":"toutiaohao_publish_failed","message":"标题长度应该在2-30字之间"}`),
|
||||
)
|
||||
if got != "failed" {
|
||||
t.Fatalf("publish title validation completion status = %q, want failed", got)
|
||||
}
|
||||
|
||||
got = normalizeDesktopTaskCompletionStatusForTask(
|
||||
"publish",
|
||||
"unknown",
|
||||
nil,
|
||||
[]byte(`{"publish_submit_uncertain":true,"message":"network interrupted after submit"}`),
|
||||
)
|
||||
if got != "unknown" {
|
||||
t.Fatalf("ambiguous publish completion status = %q, want unknown", got)
|
||||
}
|
||||
|
||||
got = normalizeDesktopTaskCompletionStatusForTask(
|
||||
"publish",
|
||||
"unknown",
|
||||
[]byte(`{"manual_retry":true}`),
|
||||
[]byte(`{"publish_submit_uncertain":true,"message":"network interrupted after submit"}`),
|
||||
)
|
||||
if got != "failed" {
|
||||
t.Fatalf("manual retry publish completion status = %q, want failed", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestExpiredMonitorDesktopTasksCandidateSQLSelectsOnlyExpiredInProgressMonitorTasks(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user