Skip to content

feat(tenant): add deploy-request commands for approval workflow (DEV-7607) - #52

Draft
xano-izzy wants to merge 1 commit into
devfrom
tenant-deploy-release-support
Draft

feat(tenant): add deploy-request commands for approval workflow (DEV-7607)#52
xano-izzy wants to merge 1 commit into
devfrom
tenant-deploy-release-support

Conversation

@xano-izzy

Copy link
Copy Markdown
Contributor

Summary

  • New tenant_deploy_request command group: list, get, create, edit, set_status, revision, bypass
  • tenant create/edit gain deploy_settings flags: --required_reviewers, --allow_deploy_bypass (create only), --allow_quick_deploy
  • tenant deploy_release now pre-flight checks whether the tenant requires approval and errors with guidance to use tenant_deploy_request create instead of hitting the backend gate raw

Part of DEV-7607 (tenant deployment approval workflow). Depends on the bypass-approval RBAC work in cloud-master (xano-labs/cloud-master#1030), cloud-lib (xano-labs/cloud-lib#145), and cloud-client (xano-labs/cloud-client#3247).

TENANT_DEPLOY_REQUEST_TEST.md documents a live test pass against a running instance, including two real bugs found & fixed during testing (single-tenant tenant get missing deploy_settings fields, causing the deploy pre-flight to silently no-op and tenant edit to silently wipe the approval gate on unrelated edits — both fixed by reading tenant state via tenant list instead).

Note for reviewers: that test doc's transcript also exercises a tenant_deploy_request delete command, but no delete subcommand exists in this branch's src/commands/tenant_deploy_request/. Flagging so it doesn't get missed — either delete needs to be added, or the test doc's transcript is stale from a prior version and should be corrected.

Also flagging a backend bug found during testing, not fixed here: tenant_deploy_request revision 500s server-side (Unable to locate func entry: timestamp) — blocks the "author links a newer release after changes requested" flow.

Test plan

  • Resolve the delete command discrepancy noted above
  • Run tenant_deploy_request create/list/get/edit/set_status/bypass against a gated tenant (see TENANT_DEPLOY_REQUEST_TEST.md for a worked example)
  • Confirm tenant deploy_release on an ungated tenant is unaffected
  • Re-test bypass's success path with a token holding tenant_center:deploy:bypass_approval

…7607)

Adds the tenant_deploy_request command group (list, get, create, edit,
set_status, revision, bypass) for the tenant deploy-approval workflow,
and updates tenant create/edit to manage deploy_settings
(required_reviewers, allow_deploy_bypass, allow_quick_deploy).
tenant deploy_release now pre-checks whether a tenant requires
approval and points to tenant_deploy_request create if so.

Includes a live test pass against a running instance
(TENANT_DEPLOY_REQUEST_TEST.md) that surfaced and fixed two real bugs:
the single-tenant GET was missing deploy_settings fields, causing the
deploy pre-flight check to silently no-op and tenant edit to silently
wipe the approval gate on unrelated edits. Both fixed by reading
tenant state via tenant list instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant