Add experimental manual deployment#14857
Merged
javivelasco merged 8 commits intomainfrom Feb 13, 2026
Merged
Conversation
🦋 Changeset detectedLatest commit: 6226d0e The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
📦 CLI Tarball ReadyThe Vercel CLI tarball for this PR is now available! Quick TestYou can test this PR's CLI directly by running: npx https://vercel-7zewa8h8t.vercel.sh/tarballs/vercel.tgz --helpUse in vercel.jsonTo use this CLI version in your project builds, add to your {
"build": {
"env": {
"VERCEL_CLI_VERSION": "vercel@https://vercel-7zewa8h8t.vercel.sh/tarballs/vercel.tgz"
}
}
} |
Contributor
🧪 Unit Test StrategyComparing: Strategy: Code changed outside of a package - running all unit tests Affected packages - 40 (100%)
Results
This comment is automatically generated based on the affected testing strategy |
2098ddc to
aa3c3c3
Compare
96b68d7 to
5395900
Compare
bb1c490 to
2d01346
Compare
2d01346 to
8fbb520
Compare
8fbb520 to
3a95a67
Compare
3a95a67 to
16fe4a3
Compare
16fe4a3 to
617b1a6
Compare
617b1a6 to
5f8d23b
Compare
5f8d23b to
9b38c49
Compare
tknickman
previously requested changes
Feb 12, 2026
jeffsee55
approved these changes
Feb 12, 2026
1141270 to
6226d0e
Compare
Merged
mehulkar
pushed a commit
that referenced
this pull request
Feb 16, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## vercel@50.18.0 ### Minor Changes - Support easier auth from cursor / claude ([#15050](#15050)) ### Patch Changes - non-interactive mode for link ([#14884](#14884)) - Add experimental manual deployment support ([#14857](#14857)) - Fix `integration remove`, `integration balance`, and `integration open` commands failing to find integrations by explicitly passing `teamId` to the configurations API ([#15054](#15054)) - Require slash syntax for multi-product integrations in non-TTY mode, keep interactive product selector for TTY ([#15047](#15047)) - Move builders back into bundle ([#15059](#15059)) - Updated dependencies \[[`463395162462988e7d3276781d2fdff0685e225b`](4633951), [`6e58410ff849c281735c6acae59b3b0e86136f15`](6e58410)]: - @vercel/go@3.4.1 - @vercel/ruby@2.3.1 - @vercel/python@6.13.0 - @vercel/static-build@2.8.37 ## @vercel/python@6.13.0 ### Minor Changes - Add runtime dependency install to support larger Python functions ([#14976](#14976)) This adds logic to calculate the total size of a lambda at build time and offload dependencies to a \_runtime_requirements.txt file so they can be installed at runtime by uv. This allows us to deploy functions up to the total size of the /tmp folder. ## @vercel/client@17.2.42 ### Patch Changes - Add experimental manual deployment support ([#14857](#14857)) ## @vercel/fs-detectors@5.8.7 ### Patch Changes - [services] infer workspace from manifest: when workspace is not explicitly configured, infer from nearest manifest to entrypoint ([#14986](#14986)) ## @vercel/go@3.4.1 ### Patch Changes - Forward Go and Ruby dev server output through `startDevServer` stdout/stderr callbacks so service logs are correctly prefixed in multi-service `vercel dev`. ([#14989](#14989)) ## @vercel/ruby@2.3.1 ### Patch Changes - Forward Go and Ruby dev server output through `startDevServer` stdout/stderr callbacks so service logs are correctly prefixed in multi-service `vercel dev`. ([#14989](#14989)) ## @vercel/python-runtime@0.4.1 ### Patch Changes - fix PyPI publication integration in release flow ([#15033](#15033)) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ofhouse
added a commit
that referenced
this pull request
Mar 25, 2026
## Context `vercel deploy continue` is missing the `--archive` flag even though it shares the same semantics as deploy. Additionally, `.vercel/output/provision.json` must be sent as a separate file (not bundled into the tgz archive) so the API can inspect it before the build starts. ## Changes - Add `--archive` support to `deploy continue`, reuse shared tarball packaging logic in the client, and add unit coverage. Deprecated `split-tgz` remains only on the normal deploy path. - When using `--archive=tgz` with `deploy continue`, `provision.json` is excluded from the tarball and sent as a standalone file alongside the archive chunks in the request body. - Extract `createTgzFiles` into a shared `archive.ts` utility with an optional `exclude` parameter, used by both `createDeployment` and `continueDeployment`. ## References - Related to #14857
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.
Add experimental support for manual (two-phase) deployments via two new hidden subcommands on
vercel deploy:vercel deploy init— Creates a deployment in "manual" mode without uploading build outputs. The deployment is initialized on the server and returns a deployment ID.vercel deploy continue --id dpl_xxx— Uploads the.vercel/outputdirectory (from a localvercel build) to an existing manual deployment and triggers the server-side build/ready flow.This enables workflows where the user controls the build step locally and then pushes outputs to an existing deployment, useful for CI pipelines and monorepo setups where build orchestration happens outside Vercel.
On the
@vercel/clientside, theuploadFilesfunction was extracted from the monolithicuploadgenerator into a standalone reusable export, and a newcontinueDeploymentasync generator handles the continue flow (hash files, upload missing ones, POST to/deployments/:id/continue, poll for ready state). A missing semaphore release on abort was also fixed.Both subcommands are hidden/experimental for now.