feat(workers): add release stage badges to compute provider picker - #3773
Merged
Conversation
Compute Provider options gave no indication of their release stage, unlike features such as Standalone Activities that surface a Public Preview label. AWS Lambda now shows Public Preview and Google Cloud Run shows Pre-release. Callers can override per option with `releaseStage`, so cloud can drive the stage without a UI release; unset falls back to the defaults above, and 'generally-available' renders no badge. Disabled options keep showing their disabledReason badge instead.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Match the badge to its role as a secondary annotation rather than competing with the provider name beside it.
laurakwhit
approved these changes
Jul 31, 2026
laurakwhit
added a commit
that referenced
this pull request
Aug 5, 2026
Auto-generated version bump from 2.53.0 to 2.53.1 Specific version: 2.53.1 Changes included: - [`e3f08379`](e3f0837) Update holocene accordion-light to runes syntax (#3714) - [`2cfa9b43`](2cfa9b4) Update holocene toggle-switch to runes syntax (#3715) (#3719) - [`e884c326`](e884c32) Update holocene textarea to runes syntax (#3724) - [`bda6e133`](bda6e13) Update holocene checkbox to runes syntax (#3725) - [`11fe6ff3`](11fe6ff) Remove unused collapsible-divider component (#3726) - [`bdc0fa77`](bdc0fa7) Update holocene skeleton table to runes syntax (#3734) - [`56a34a69`](56a34a6) Update holocene accordion to runes syntax (#3736) - [`1a0b0422`](1a0b042) Remove unused banner component (#3712) - [`11da928d`](11da928) Update holocene range-input to runes syntax (#3713) - [`d73bbde9`](d73bbde) Remove deprecated api-pagination component (#3739) - [`9cb5e28a`](9cb5e28) Update holocene number-input to runes syntax (#3735) - [`e4cec29c`](e4cec29) Update holocene tabs and tab-button to runes syntax (#3737) - [`6f6f7139`](6f6f713) Update holocene drawer-content to runes syntax (#3740) - [`4f2cef58`](4f2cef5) Update holocene tooltip to runes syntax (#3743) - [`6e01537e`](6e01537) Update holocene link to runes syntax (#3741) - [`b6775092`](b677509) Update holocene orderable-list to runes syntax (#3742) - [`447fad67`](447fad6) Update holocene pagination to runes syntax (#3738) - [`359c80ba`](359c80b) fix(schedules): tolerate duplicate schedule IDs (#3751) - [`8e81a4f0`](8e81a4f) fix(workers): use default Cloud Run runner identity (#3748) - [`3b37bbe6`](3b37bbe) Enable server-scaled deployments by default (#3672) - [`d9f9a99c`](d9f9a99) feat(workers): add release stage badges to compute provider picker (#3773) - [`7e8f2830`](7e8f283) Update holocene time-picker to runes syntax (#3754) - [`053f060a`](053f060) Update holocene drawer to runes syntax (#3755) - [`9dff9c9f`](9dff9c9) fix(workers): gate deployment actions by compute config (#3779) - [`bd9b3f60`](bd9b3f6) Update holocene copyable to runes syntax (#3756) - [`46afcfff`](46afcff) Update holocene toast to runes syntax (#3753) - [`17f64bcc`](17f64bc) Update holocene orderable-list-item to runes syntax (#3758) - [`d9ab4aa7`](d9ab4aa) Migrate event-link and event-details-link to runes syntax (#3760) - [`c09f94ac`](c09f94a) Migrate start-workflow-button and workflow-detail to runes syntax (#3761) - [`7bce9c5d`](7bce9c5) Remove dead workflow-filters component (#3762) - [`30255dba`](30255db) Sweep remaining on: directives to runes event syntax (#3771) - [`ad696bcf`](ad696bc) Migrate batch-operations header to runes syntax (#3764) - [`64f7302c`](64f7302) Migrate workflow-family-node-tree to runes syntax (#3765) - [`dc56c890`](dc56c89) Migrate start-workflow and workflow-query pages to runes syntax (#3768) - [`f989d43a`](f989d43) Migrate payload-input-with-encoding to runes syntax (#3763) - [`b19c43a0`](b19c43a) Migrate paginated-table cluster to runes syntax (#3750) - [`84414160`](8441416) Update holocene zoom-svg to runes syntax (#3757) - [`8c245928`](8c24592) Migrate holocene modal to runes syntax (#3759) - [`ef33b255`](ef33b25) Upgrade to Storybook 10 and migrate stories to defineMeta (#3772) - [`d8af57d8`](d8af57d) Enable runes mode by default (#3770) - [`1923c928`](1923c92) Use WorkflowTaskFailedCause enum (#3775) - [`b4a272ee`](b4a272e) Track pointerDown and ignore subsequent click (#3776) - [`96a06250`](96a0625) Pluralize batch operation execution type (#3784) - [`ee4652ac`](ee4652a) Resolve deployment compute config from routed version summaries (#3789) - [`7b614625`](7b61462) Standalone Activity fixes (#3788) Co-authored-by: laurakwhit <15069288+laurakwhit@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description & motivation 💭
With AWS Lambda going Public Preview and GCP Cloud Run entering Pre-release, the Compute Provider section gave no indication of either provider's release stage. This differs from features like Standalone Activities, which show a
Public Previewlabel. Since users follow the same worker deployment creation flow for both providers, the missing labels could create confusion about the maturity and availability of each option.This adds a release stage badge next to each Compute Provider option:
Public PreviewPre-releaseThe badge uses the same
secondaryHoloceneBadgethat Nexus and SAA use for their pre-release/preview labels, rendered in the existinglabelBadgesnippet onRadioCard.Configurable by the caller
The stage is not hardcoded to the provider —
ComputeProviderOptiongains an optionalreleaseStage, so Cloud can drive it through thecomputeProvidersprop it already passes intoserverless-worker-create,worker-deployment-version-create, andworker-deployment-version-edit. No new prop to thread.defaultReleaseStageinshared.ts(the two stages above), so OSS/self-hosted and any caller that doesn't set it still get correct labels, and Cloud picks up stage changes on its next UI bump with no Cloud-side change.'generally-available'→ renders no badge. This is how a provider drops the label once it GAs. Noteundefinedmeans "use the default", never "no badge".disabledReasonbadge ("Coming Soon", "Not supported in AWS namespaces") instead — that's the more relevant maturity signal, and it avoids stacking two badges.An enum rather than a free-form string keeps the label text and its translation in this repo; Cloud picks a stage, not a string to display.
defaultReleaseStageis exported so Cloud can read the defaults if it needs to reason about them.Screenshots (if applicable) 📸
Design Considerations 🎨
Matches the crude mockup from the thread — badge inline to the right of the provider name. Reused the existing
secondarybadge type rather than introducing a release-stage-specific style, for consistency with thePre-releasebadge already on the Nexus Operations page.Testing 🧪
How was this tested 👻
Storybook stories in
compute-provider-picker.stories.svelte:Public PreviewandPre-releaserender.'generally-available'on Lambda renders no badge while Cloud Run keepsPre-release.pnpm lintclean (0 errors),pnpm test --run2573 passed / 183 files.pnpm checkis unchanged frommain— it reports one pre-existing error (Cannot find module './$types'in the history events route) unrelated to these files.Steps for others to test: 🚶🏽♂️🚶🏽♀️
Public Preview; Google Cloud Run showsPre-release.serverScaledProviderCloudRuncapability, Cloud Run stays disabled and showsComing Soonrather than a stage badge.Workers/Compute Provider Picker→ the two stories above.Checklists
Merge Checklist
Issue(s) closed
Docs
Any docs updates needed?
None.