From 27493a208005da186da6560df074fd1b42b087e4 Mon Sep 17 00:00:00 2001 From: puppe1990 Date: Fri, 25 Sep 2026 01:41:47 -0300 Subject: [PATCH] feat(status): show why a queued deploy is waiting Print WAIT as "app FIFO" or "2-build cap" from the panel wait_reason field. Refresh the vendored API contract. --- lib/cleat/commands/status.ex | 7 ++++++- test/cleat/contract_test.exs | 4 ++-- test/fixtures/api_contract.json | 4 +++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/cleat/commands/status.ex b/lib/cleat/commands/status.ex index 0bf9480..9bfd4bc 100644 --- a/lib/cleat/commands/status.ex +++ b/lib/cleat/commands/status.ex @@ -21,6 +21,7 @@ defmodule Cleat.Commands.Status do [ deployment["id"], deployment["status"], + wait_reason(deployment), deployment["git_ref"] || "—", deployment["git_sha"], deployment["triggered_by"], @@ -28,11 +29,15 @@ defmodule Cleat.Commands.Status do ] end) - Output.table(rows, ["ID", "STATUS", "REF", "SHA", "TRIGGER", "CREATED AT"]) + Output.table(rows, ["ID", "STATUS", "WAIT", "REF", "SHA", "TRIGGER", "CREATED AT"]) end end :ok end end + + defp wait_reason(%{"wait_reason" => "app_fifo"}), do: "app FIFO" + defp wait_reason(%{"wait_reason" => "server_cap"}), do: "2-build cap" + defp wait_reason(_deployment), do: "—" end diff --git a/test/cleat/contract_test.exs b/test/cleat/contract_test.exs index eda6470..b3e7576 100644 --- a/test/cleat/contract_test.exs +++ b/test/cleat/contract_test.exs @@ -19,9 +19,9 @@ defmodule Cleat.ContractTest do "server" => ~w(id name host_ip ssh_user region provider deploy_mode instance_status bundle_name cpu_count ram_mb disk_gb), "deployment" => - ~w(id app_id git_sha git_ref status triggered_by started_at finished_at inserted_at updated_at), + ~w(id app_id git_sha git_ref status triggered_by started_at finished_at inserted_at updated_at wait_reason), "deployment_log" => - ~w(id app_id git_sha git_ref status triggered_by started_at finished_at inserted_at updated_at log), + ~w(id app_id git_sha git_ref status triggered_by started_at finished_at inserted_at updated_at wait_reason log), "env_var" => ~w(key value branch sensitive revealed), "user" => ~w(id email), "tenant" => ~w(id name slug), diff --git a/test/fixtures/api_contract.json b/test/fixtures/api_contract.json index 3c911f1..47f7738 100644 --- a/test/fixtures/api_contract.json +++ b/test/fixtures/api_contract.json @@ -30,7 +30,8 @@ "started_at", "finished_at", "inserted_at", - "updated_at" + "updated_at", + "wait_reason" ], "deployment_log": [ "id", @@ -43,6 +44,7 @@ "finished_at", "inserted_at", "updated_at", + "wait_reason", "log" ], "env_var": [