Add rollback command to bb apps - #276
Conversation
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
REQUEST_CHANGES: the static four-lens review found no publishable changed-line defects, but this PR adds a meaningful user-facing CLI workflow and the supplied GitHub evidence contains no screenshot or short screen recording. Add visual evidence before approval. Supplied GitHub checks are currently pending with no reported check runs, so required checks still govern merge readiness.
Deterministic publication result: 0 blocking and 0 non-blocking inline finding(s) publishable; 0 duplicate(s) suppressed; 1 blocking screenshot-evidence requirement(s) in this review body.
🤖 Blocking · Screenshots needed
This PR changes a meaningful user-facing experience. Please add screenshots or a short screen recording so the visual result can be reviewed. Screenshots are review evidence; they do not replace accessibility, responsive, theme, localization, or behavior validation.
Summary
bb apps deploycan publish a version, but the CLI had no way to reverse a bad deployment. This addsbb apps rollback <APP_ID> [--environment <ENVIRONMENT>] [--version-id <VERSION_ID>]and maps it directly to the Compose rollback endpoint.Omitting
--version-idasks Compose to select the previous active version. Passing one activates that uploaded version instead. The command uses the existing allowlisted control-plane client, safely encodes app IDs, preserves the server response, and does not add hidden polling.readyanddebugalso gain--environmentso follow-up checks can target the same environment as the rollback.Related issue
N/A. No matching open issue or PR found.
Testing
At commit
7c6bb2c5cee92f2a667c9935393405cf679f4043:cd bb-cli && source ../bin/activate-hermit && just check(143 unit, 75 bb E2E, 22 CLI E2E, and 6 acceptance tests)Live control-plane verification was not run because the local Builderlab CLI session is intentionally logged out. The route, request body, environment selection, and response behavior were verified against the current
squareup/blockplat-composesource and covered with mocked process tests.