Skip to content

feat(DT-4078): Add Set Ramping Version to Worker Deployment Versions#3508

Merged
rossnelson merged 4 commits into
mainfrom
dt-4078
Jun 11, 2026
Merged

feat(DT-4078): Add Set Ramping Version to Worker Deployment Versions#3508
rossnelson merged 4 commits into
mainfrom
dt-4078

Conversation

@rossnelson

@rossnelson rossnelson commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds Set Ramping Version action to the Worker Deployment Version actions menu, matching CLI parity
  • New SetRampingVersionModal with percentage input (0–100%), a no-active-pollers guard modal, a remove-ramping destructive button, and a warning when replacing an existing ramping version
  • New setRampingDeploymentVersion and removeRampingDeploymentVersion service functions posting to the set-ramping-version API endpoint
  • Extends VersionActionsMenu with a context-sensitive menu item ("Set Ramping Version" or "Edit Ramping Percentage")
CleanShot 2026-06-08 at 13 41 29

Test plan

  • Version with no active pollers → menu item opens info modal explaining pollers are required
  • Version with active pollers → modal shows percentage input and "Set Ramping Version" confirm
  • Setting a ramping percentage shows success toast and refreshes the table
  • When a different version is already ramping, modal warns about the replacement
  • "Remove Ramping" button appears only for the currently-ramping version and removes it on click
  • "Edit Ramping Percentage" label shown for the currently-ramping version
  • confirmDisabled when percentage is NaN, < 0, or > 100
  • Current version does not show the ramping menu item

@vercel

vercel Bot commented Jun 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
holocene Ready Ready Preview, Comment Jun 11, 2026 11:28pm

Request Review

@rossnelson
rossnelson marked this pull request as ready for review June 8, 2026 17:42
@rossnelson
rossnelson requested a review from a team as a code owner June 8, 2026 17:42
@laurakwhit
laurakwhit self-requested a review June 11, 2026 17:14
Comment thread src/lib/components/deployments/set-ramping-version-modal.svelte Outdated
Comment thread src/lib/services/deployments-service.ts Outdated
Comment thread src/lib/services/deployments-service.ts Outdated
Comment thread src/lib/services/deployments-service.ts
Comment thread src/lib/components/deployments/version-table-row.svelte
Comment thread src/lib/components/deployments/version-table-row.svelte Outdated
Comment thread src/lib/components/deployments/version-actions-menu.svelte Outdated
Comment thread src/lib/components/deployments/set-ramping-version-modal.svelte
Comment thread src/lib/components/deployments/set-ramping-version-modal.svelte
Comment thread src/lib/components/deployments/version-table-row.svelte Outdated
Comment thread src/lib/components/deployments/version-table-row.svelte Outdated
Comment thread src/lib/components/deployments/version-table-row.svelte Outdated
…rsions

Adds UI support for setting a ramping percentage on Worker Deployment
Versions, bringing the Cloud UI to parity with CLI capabilities.

- New SetRampingVersionModal with percentage input, no-pollers guard,
  remove-ramping destructive action, and replace-existing warning
- New setRampingDeploymentVersion and removeRampingDeploymentVersion
  service functions
- New API route type and path for set-ramping-version endpoint
- Extends VersionActionsMenu with Set/Edit Ramping Percentage menu item
- Wires modal into VersionTableRow with state, handlers, and callbacks
The SetWorkerDeploymentRampingVersionRequest proto uses `build_id` and
`percentage` fields, not the deprecated `version` and non-existent
`rampingVersionPercentage` fields.
- Fix snake_case build_id → camelCase buildId in service request bodies
- Add conflictToken support to setRampingDeploymentVersion and removeRampingDeploymentVersion
- Replace hardcoded modal copy with existing i18n strings
- Add loading state to prevent double-submit on ramping actions
- Disable confirmButton when percentage is 0 or unchanged from current
- Add step={0.1} to NumberInput for decimal support
- Show canonical deploymentName.buildId for existing ramping version
- Disable (not hide) Set Ramping Version menu item for current version
@rossnelson
rossnelson merged commit 93323db into main Jun 11, 2026
18 checks passed
@rossnelson
rossnelson deleted the dt-4078 branch June 11, 2026 23:48
laurakwhit added a commit that referenced this pull request Jun 23, 2026
Auto-generated version bump from 2.51.0 to 2.51.1

Specific version: 2.51.1

Changes included:
- [`c848ec54`](c848ec5) fix(a11y): announce workflow / event status on timeline graph nodes (WCAG 1.4.1) (#3443)
- [`af6b12a9`](af6b12a) fix(deployments): align version/status/compute badges in worker deployments table (#3489)
- [`df86587c`](df86587) Add SDK version to standalone activity details (#3447)
- [`59695290`](5969529) Use shared FilterBar component for workflows (#3448)
- [`ded94469`](ded9446) Set display contents in wrapper div if no afterLabel in Input component (#3513)
- [`d7e5eb43`](d7e5eb4) fix(standalone-activities): decode failure encodedAttributes in activity detail (#3507)
- [`81a255a9`](81a255a) fix(DT-4151): fix bottom nav scrollability and double-menu on mobile (#3514)
- [`368f646e`](368f646) Fix exports to work properly with vite8 (#3519)
- [`231bdaff`](231bdaf) chore(deps-dev): bump vitest from 3.2.4 to 3.2.6 (#3509)
- [`1de44ea6`](1de44ea) fix(workers): soften no-workers-polling alert for serverless worker deployments (#3524)
- [`689955a8`](689955a) fix(DT-4080): surface error when validate connection has no compute config, warn on set current (#3516)
- [`93323db9`](93323db) feat(DT-4078): Add Set Ramping Version to Worker Deployment Versions (#3508)
- [`9d3450c0`](9d3450c) fix(DT-4081): surface task queue not registered error in validate connection modal (#3517)
- [`b7f56237`](b7f5623) feat(DT-4079): miscellaneous WD UI fixes (#3511)
- [`83b2d4ec`](83b2d4e) feat(deployments): simplify create worker deployment UX (#3518)
- [`ccb4cb73`](ccb4cb7) Standalone Activity write guards (#3534)
- [`ab20ef03`](ab20ef0) Worker insights UI updates (#3520)
- [`aaf63bdc`](aaf63bd) [wcag] Replace text-[12px] with text-xs in DatePicker action buttons (SC 1.4.4) (#3525)
- [`743be902`](743be90) a11y(2.4.3): replace flex-wrap-reverse with flex-wrap on workflow history toolbar (#3527)
- [`41b73e87`](41b73e8) a11y(2.4.2): ui-main — set distinct, descriptive titles on login/signin, task-queues list, and activity-workers sub-tab (#3535)
- [`3d64cdbf`](3d64cdb) [WCAG 2.4.3] group-details-row — remove redundant outer focus stop on <g> wrapper (#3537)
- [`883e5db1`](883e5db) a11y(2.4.6): datepicker — replace empty label with translate('common.start') (#3543)
- [`9da915e2`](9da915e) a11y(2.4.5): import history — add back-link to Import landing page (#3542)
- [`ca4c1d61`](ca4c1d6) Cache new Intl.DateTimeFormat (#3565)
- [`38376e4d`](38376e4) Fix required activity timeout inputs on Start a Standalone Activity form (#3567)
- [`49d7c9e4`](49d7c9e) Use separate copy for title vs menu item (#3568)
- [`3c7dcdc3`](3c7dcdc) a11y(2.5.8): pagination — grow caret buttons from 12×12 to 24×24 CSS px (#3547)
- [`b5171825`](b517182) a11y(2.5.8): chip — pad remove button to 24×24 CSS px minimum (#3544)
- [`1fea5d5c`](1fea5d5) a11y(2.1.1): fake-button widgets — replace deprecated onkeypress with onkeydown handling Enter and Space (#3528)
- [`5bf09000`](5bf0900) a11y(2.1.1): navigation primitives — replace hover-only CSS :after label tooltip with focusable Tooltip (#3529)
- [`deed43f0`](deed43f) a11y(2.1.1): event summary row — add keyboard-accessible expand control alongside the mouse-only <tr onclick> (#3526)
- [`d401123e`](d401123) a11y(2.5.8): checkbox — add min-h-6 min-w-6 to Label for 24×24 hit area (#3545)
- [`aef4166f`](aef4166) [a11y] Expose toggled state via aria-pressed on ToggleButton (#3559)
- [`797f8831`](797f883) Show single attempt in Standalone Activity details (#3572)
- [`893bc58c`](893bc58) feat(DT-4183): Add Tabs (Primitive) (#3574)
- [`323c1993`](323c199) Date picker input field bug/kt (#3522)
- [`3ac34ce2`](3ac34ce) Various serverless UI updates (#3573)
- [`f365416a`](f365416) a11y(2.1.1): ZoomSvg — add keyboard pan/zoom controls so the workflow family tree is operable without a mouse (#3530)
- [`feb6897e`](feb6897) Fix gaps in slot cards on worker details page (#3580)
- [`b3c80072`](b3c8007) Remove font weight on cache size (#3583)
- [`0e7337ea`](0e7337e) Bump API to v1.62.14 (#3575)

Co-authored-by: laurakwhit <[email protected]>
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.

2 participants