docs(solution): correct what deploy run does when the folder name is taken - #2412
docs(solution): correct what deploy run does when the folder name is taken#2412alexenica wants to merge 1 commit into
Conversation
…taken The doc said deployment fails if the folder already exists. It doesn't — Orchestrator collision-renames the new folder (`MySolution` → `MySolution 1`) and deploys there. That is exactly the trap in UV-15346: the reporter ran `deploy run` ~8 times against an existing folder holding assets, an IXP folder-deployment and a robot, got 8 new empty folders instead of an error, and runtime resolution then failed on the missing resources. Also states plainly that deploying into a pre-existing folder is not possible: the install API takes `solutionRootFolderName` — a name, not a folder key — so there is nothing to address the target with. Documents the two workarounds (deploy first then provision into the folder it created; or bind each piece with `or packages upload` + `or processes create`), and points readers at `Data.FolderPath` in the response rather than the name they passed. No CLI change: the gap is in the API contract, not in the wrapper. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Claude finished @alexenica's task in 1m 52s —— View job Review: PR #2412
SummaryDocs-only fix: corrects the Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | Not modified; no impact |
| E2E Tests | OK | Docs-only change; existing deploy tests (deploy_round_trip_e2e.yaml, deploy_list_smoke.yaml) cover the deploy run command |
| Skill Body | OK | Not modified |
| References & Assets | OK | Factual correction with accurate workarounds and proper internal anchoring |
| Repo Hygiene | OK | No secrets, no cross-skill deps, scoped to one file |
Issues for Manual Review
- API-contract claim accuracy: The doc asserts
PipelinesInstallRequesttakessolutionRootFolderName(a name, not a folder key) and therefore cannot target an existing folder. The PR description says this was verified againstpackages/pipelines-sdksource. Reviewers with access to that SDK should confirm the field list hasn't changed. - Collision-rename sequence: The doc says Orchestrator appends
1,2, etc. The PR author noted this was not live-verified but was observed 8 times by the original reporter. Worth confirming the exact naming pattern if precision matters.
Conclusion
Clean, well-scoped docs fix. The correction is important — the old text actively misled agents into expecting a failure that never comes, causing the exact trap described in UV-15346. The new content is accurate (per the stated source verification), actionable, and follows repo conventions. Approve.
|
Consolidated into #2383 — one PR per repo, as requested. Same commit, cherry-picked onto that branch. |
UV-15346. Docs-only — the CLI needs no change here, and the reason is the point.
What was wrong
pack-and-deploy.mdsaid: "If the folder already exists, deployment will fail."It doesn't. Orchestrator collision-renames the new folder (
MySolution→MySolution 1) and deploys there.deploy-run-service.tsalready compensates for this — it reads the resolved folder back precisely because the name it asked for may not be the name it got (UV-15393).That wrong sentence is the whole trap in UV-15346. The reporter ran
deploy run~8 times expecting either success or an error, got 8 new empty folders, and every deployment landed away from the folder that actually held the assets, the IXP folder-deployment and the assigned robot — so runtime resolution failed on missing resources.What the doc now says
MySolution 1,MySolution 2, …Data.FolderPathin the response over the name passed in.PipelinesInstallRequesttakessolutionRootFolderName— a name, not a folder key — plus an optional parent path. There is no field that can address an existing folder, so this is an API-contract limitation, not a missing CLI flag.deploy runcreate the folder and provision into what it returns (keeps the solution deployment intact), or bind each piece withor packages upload+or processes create --folder-key <existing>(loses the solution grouping).--folder-namerow in the options table now points at that section instead of implying a plain create.Verification
Read from the source of truth rather than from the ticket: the six fields of
PipelinesInstallRequestinpackages/pipelines-sdk, and the collision-rename comment plusresolveInstalledFolderfallback indeploy-run-service.ts.Not verified live: I did not run two real deploys against the same folder name to watch the rename happen. The API contract settles the "can it target an existing folder" question on its own, and the rename behaviour is already documented in the CLI's own workaround and was observed 8 times by the reporter. Flagging it so the claim's basis is clear.
Paired CLI work for the other two tickets in this batch: UiPath/cli#3350.
🤖 Generated with Claude Code