deploy-vps fails a healthy rollout when the post-deploy prune collides #89

Closed
opened 2026-09-16 18:53:15 +00:00 by ahmad · 0 comments
Owner

Context

deploy-vps ends its remote script with an image prune after the health wait. On a host where two deploys overlap, the second prune is refused by the daemon with a prune operation is already running, the script exits non-zero, and the action reports Deployment of <version> failed for a rollout it had just declared healthy. Seen on amtronics/agent-bus v0.3.0 (run 17, 2026-09-16): agent-bus-1 is healthy after 122s. followed by the prune error, a failed job, a false tracking issue and a red Telegram message, while the container served the new version throughout.

Scope

  • In: the prune is housekeeping, not part of the rollout — its failure is logged and ignored, and a deployment's verdict is the health wait's alone.
  • Out: pruning policy (what and how old), the health wait itself.

Acceptance criteria

  • Given a rollout whose containers report healthy, when the post-deploy prune fails for any reason, then the action still reports the deployment as succeeded and the prune error appears in the log.
  • Given a rollout whose containers do not report healthy in time, when the script ends, then the action still reports the deployment as failed, as today.
### Context `deploy-vps` ends its remote script with an image prune after the health wait. On a host where two deploys overlap, the second prune is refused by the daemon with `a prune operation is already running`, the script exits non-zero, and the action reports `Deployment of <version> failed` for a rollout it had just declared healthy. Seen on `amtronics/agent-bus` v0.3.0 (run 17, 2026-09-16): `agent-bus-1 is healthy after 122s.` followed by the prune error, a failed job, a false tracking issue and a red Telegram message, while the container served the new version throughout. ### Scope - In: the prune is housekeeping, not part of the rollout — its failure is logged and ignored, and a deployment's verdict is the health wait's alone. - Out: pruning policy (what and how old), the health wait itself. ### Acceptance criteria - [ ] Given a rollout whose containers report healthy, when the post-deploy prune fails for any reason, then the action still reports the deployment as succeeded and the prune error appears in the log. - [ ] Given a rollout whose containers do not report healthy in time, when the script ends, then the action still reports the deployment as failed, as today.
ahmad self-assigned this 2026-09-16 18:56:24 +00:00
ahmad 2026-09-16 19:00:31 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
amtronics/platform-actions#89
No description provided.