fix: Keep a colliding prune from failing a healthy rollout #90
No reviewers
Labels
No labels
priority/P0
priority/P1
priority/P2
priority/P3
size/L
size/M
size/S
size/XL
size/XS
state/blocked
state/done
state/in-progress
state/in-review
state/needs-refinement
state/ready
type/bug
type/chore
type/feature
type/refactor
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
amtronics/platform-actions!90
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/89-prune-best-effort"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Issue
Closes #89
Problem
The remote deploy script runs under
set -eand ends with an image prune. The daemon allows one prune at a time, so when two deploys overlap on a host the second prune is refused and the action reports the rollout failed a second after declaring every container healthy: a red job, a false tracking issue and a red notification for a deployment that worked (agent-bus v0.3.0, run 17).Solution
The prune is housekeeping: its failure is logged to stderr and ignored, so the deployment's verdict is the health wait's alone. A rollout that does not become healthy still fails as before.
Review notes
One line plus its comment in
deploy-vps/action.yml; the remote script still parses (bash -n).Risks and trade-offs
A host whose prune keeps failing accumulates old images until someone reads the log line; the disk alerts cover that.
WIP: fix: Keep a colliding prune from failing a healthy rolloutto fix: Keep a colliding prune from failing a healthy rolloutBoth criteria of #89 verified in
deploy-vps/action.yml:Prune failure no longer decides the verdict: the heredoc is quoted (
<<'REMOTE'), so$?is evaluated on the host and reads the prune's own status, and the|| echomakes it the script's last command with status 0 underset -euo pipefail.An unhealthy rollout still fails: every failure path in the health wait (
unhealthy, the unknown grace, the deadline)exit 1before the prune is reached.Note for merging, not a finding: consumers pin
@v3, so this is not live for any repository until the release job re-points that tag.