Skip to content

[cli] Add v2 deployment checks handling to deploy --prod#15884

Merged
codywong merged 1 commit into
mainfrom
add-v2-checks-deploy
Apr 9, 2026
Merged

[cli] Add v2 deployment checks handling to deploy --prod#15884
codywong merged 1 commit into
mainfrom
add-v2-checks-deploy

Conversation

@codywong

@codywong codywong commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add support for Deployment Checks (deployment.checks['deployment-alias']) in vc deploy --prod
  • Show "Running Checks..." spinner when the deployment-alias check is pending after build completes
  • Detect deployment-alias check failure via polling and exit with error details
  • Fetch check run details from GET /v2/deployments/{id}/check-runs and display failed runs with hyperlinked names to logs endpoint (vercel source) or deployment page (external source)
  • Include failedCheckRuns with per-run details (id, name, source, logsUrl) in non-interactive JSON output
  • Existing v1 checks (checksConclusion) and aliasError handling preserved

How success/failure paths work

  • Success: Server sets aliasAssigned: true after checks pass → existing alias-assigned event handles it (no new code path needed)
  • Failure: Polling detects checks['deployment-alias'].state === 'failed' → emits checks-v2-completed event → CLI fetches check runs and prints failures

Test plan

  • Unit tests for v1 checks failure, v2 checks failure, v2 non-interactive JSON output, and v2 checks pending → success flow

CleanShot 2026-04-08 at 15.51.16.png

@changeset-bot

changeset-bot Bot commented Apr 8, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: c41ff3a

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
vercel Minor
@vercel/client Minor

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

@codywong codywong changed the title Add v2 deployment checks handling to deploy --prod [cli] Add v2 deployment checks handling to deploy --prod Apr 8, 2026

codywong commented Apr 8, 2026

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@codywong codywong force-pushed the add-v2-checks-deploy branch 2 times, most recently from dd858d2 to 1a13069 Compare April 8, 2026 21:37
@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

📦 CLI Tarball Ready

The Vercel CLI tarball for this PR is now available!

Quick Test

You can test this PR's CLI directly by running:

npx https://vercel-kp47vru7b.vercel.sh/tarballs/vercel.tgz --help

Use in vercel.json

To use this CLI version in your project builds, add to your vercel.json:

{
  "build": {
    "env": {
      "VERCEL_CLI_VERSION": "vercel@https://vercel-kp47vru7b.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

Python Runtime Wheel

A vercel-runtime wheel was also built for this PR.
To use in your Python project builds, also set this environment variable:

VERCEL_RUNTIME_PYTHON="vercel-runtime @ https://vercel-kp47vru7b.vercel.sh/tarballs/vercel_runtime-0.13.0.dev1775691515+c41ff3a-py3-none-any.whl"

Python Workers Wheel

A vercel-workers wheel was also built for this PR.
To use in your Python project builds, also set this environment variable:

VERCEL_WORKERS_PYTHON="vercel-workers @ https://vercel-kp47vru7b.vercel.sh/tarballs/vercel_workers-0.1.0.dev1775691515+c41ff3a-py3-none-any.whl"

@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

🧪 Unit Test Strategy

Comparing: 02049a3c41ff3a (view diff)

Strategy: Affected packages only

✅ Only testing packages that have been modified or depend on modified packages.

Affected packages - 2 (5%)
  1. @vercel/client
  2. vercel
Unaffected packages - 38 (95%)
  1. @vercel-internals/get-package-json
  2. @vercel/backends
  3. @vercel/build-utils
  4. @vercel/cervel
  5. @vercel/cli-auth
  6. @vercel/config
  7. @vercel/detect-agent
  8. @vercel/edge
  9. @vercel/elysia
  10. @vercel/error-utils
  11. @vercel/express
  12. @vercel/fastify
  13. @vercel/firewall
  14. @vercel/frameworks
  15. @vercel/fs-detectors
  16. @vercel/functions
  17. @vercel/gatsby-plugin-vercel-builder
  18. @vercel/go
  19. @vercel/h3
  20. @vercel/hono
  21. @vercel/hydrogen
  22. @vercel/koa
  23. @vercel/nestjs
  24. @vercel/next
  25. @vercel/node
  26. @vercel/oidc
  27. @vercel/oidc-aws-credentials-provider
  28. @vercel/python
  29. @vercel/python-analysis
  30. @vercel/redwood
  31. @vercel/related-projects
  32. @vercel/remix-builder
  33. @vercel/routing-utils
  34. @vercel/ruby
  35. @vercel/rust
  36. @vercel/static-build
  37. @vercel/static-config
  38. examples

Results

  • Unit tests: Only affected packages will run unit tests
  • E2E tests: Running in parallel via E2E Tests workflow
  • Type checks: Only affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

@vercel

vercel Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Low Risk — CLI feature addition for deployment checks handling with comprehensive unit tests.

  • packages/cli/src/commands/deploy/index.ts: added v2 checks failure handling and handleFailedCheckRuns function
  • packages/client/src/check-deployment-status.ts: added checks-v2-failed event emission when deployment-alias check fails
  • packages/cli/test/unit/commands/deploy/index.test.ts: added unit tests for v1/v2 checks failure scenarios

Assessed at c41ff3a.

Comment thread packages/cli/src/commands/deploy/index.ts
Comment thread packages/cli/test/unit/commands/deploy/index.test.ts Outdated

@brookemosby brookemosby left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@codywong codywong merged commit 61c17f9 into main Apr 9, 2026
180 checks passed
@codywong codywong deleted the add-v2-checks-deploy branch April 9, 2026 21:38
healeycodes pushed a commit that referenced this pull request Apr 10, 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 the packages will
be published to npm automatically. 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.43.0

### Minor Changes

- Add Deployment Checks support to `deploy --prod`. Shows "Running
Checks..." spinner when checks are pending, detects check failures
before alias promotion, and displays failed check run details with links
to logs. ([#15884](#15884))

- Extend marketplace integration CLI parity: add `vercel integration
installations` to list team installations (with optional `--integration`
filter and JSON output), align `vercel integration update` argument
parsing with other subcommands (parse only tokens after `update`, so the
integration slug is the first positional), and ship related
help/telemetry updates.
([#15849](#15849))

- Add `vercel project protection` actions for automation protection
bypass via PATCH `/v1/projects/.../protection-bypass`
(`--protection-bypass`).
([#15862](#15862))

- Add `vercel project protection` actions for customer support code
visibility (`--customer-support-code-visibility`).
([#15860](#15860))

- Add `vercel project protection` actions for Git fork protection
(`--git-fork-protection`).
([#15861](#15861))

- [services] migrate python workers to Queues V3 API
([#15885](#15885))

- [cli] Add `vercel flags override` subcommand to encrypt and decrypt
flag override tokens for the `vercel-flag-overrides` cookie
([#15875](#15875))

### Patch Changes

- Persist CLI telemetry across invocations with bounded-time sessions,
stable installation device IDs, and per-invocation identifiers.
([#15872](#15872))

- Update the `vercel metrics` CLI to use the V2 observability metrics
API with `--metric`-based schema inspection and querying.
([#15876](#15876))

- Improve `vercel integration add` command to support fallback to the
discover API and first-party integrations.
([#15788](#15788))

- refactor(cli): remove FF_AUTO_PROVISION_INSTALL feature flag and dead
code from `integration add`
([#15871](#15871))

- Updated dependencies
\[[`5e02289f927050a6c1025cc0edb7eda607fd5e73`](5e02289),
[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8),
[`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]:
    -   @vercel/detect-agent@1.2.2
    -   @vercel/build-utils@13.14.1
    -   @vercel/backends@0.0.58
    -   @vercel/elysia@0.1.61
    -   @vercel/express@0.1.71
    -   @vercel/fastify@0.1.64
    -   @vercel/go@3.4.7
    -   @vercel/h3@0.1.70
    -   @vercel/hono@0.2.64
    -   @vercel/hydrogen@1.3.6
    -   @vercel/koa@0.1.44
    -   @vercel/nestjs@0.2.65
    -   @vercel/next@4.16.5
    -   @vercel/node@5.7.3
    -   @vercel/python@6.29.0
    -   @vercel/redwood@2.4.12
    -   @vercel/remix-builder@5.7.2
    -   @vercel/ruby@2.3.2
    -   @vercel/rust@1.1.0
    -   @vercel/static-build@2.9.11

## @vercel/client@17.3.0

### Minor Changes

- Add Deployment Checks support to `deploy --prod`. Shows "Running
Checks..." spinner when checks are pending, detects check failures
before alias promotion, and displays failed check run details with links
to logs. ([#15884](#15884))

### Patch Changes

- Updated dependencies
\[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8),
[`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]:
    -   @vercel/build-utils@13.14.1

## @vercel/backends@0.0.58

### Patch Changes

- Updated dependencies
\[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8),
[`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]:
    -   @vercel/build-utils@13.14.1

## @vercel/build-utils@13.14.1

### Patch Changes

- Restore `finalizeLambda()` to return `zipPath: null` for the default
in-memory path, preserving the existing caller-facing result contract
while keeping custom ZIP strategies supported.
([#15887](#15887))

- feat(node): filter non-entrypoint Node.js files in `/api` directory
([#15873](#15873))

## @vercel/cervel@0.0.45

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/backends@0.0.58

## @vercel/detect-agent@1.2.2

### Patch Changes

- Detect Cursor agent execution when
`CURSOR_EXTENSION_HOST_ROLE=agent-exec` is set so tools launched from
Cursor still report the `cursor-cli` agent when `CURSOR_AGENT` is not
present. ([#15879](#15879))

## @vercel/elysia@0.1.61

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.3

## @vercel/express@0.1.71

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.3
    -   @vercel/cervel@0.0.45

## @vercel/fastify@0.1.64

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.3

## @vercel/fs-detectors@5.15.1

### Patch Changes

- feat(node): filter non-entrypoint Node.js files in `/api` directory
([#15873](#15873))

- Updated dependencies
\[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8),
[`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]:
    -   @vercel/build-utils@13.14.1

## @vercel/gatsby-plugin-vercel-builder@2.1.11

### Patch Changes

- Updated dependencies
\[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8),
[`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]:
    -   @vercel/build-utils@13.14.1

## @vercel/h3@0.1.70

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.3

## @vercel/hono@0.2.64

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.3

## @vercel/koa@0.1.44

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.3

## @vercel/nestjs@0.2.65

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.3

## @vercel/node@5.7.3

### Patch Changes

- Updated dependencies
\[[`2e15ee828f14de4a849a462429ca03feab161174`](2e15ee8),
[`a31c84d1bda56a60da6d7bc6d611b0b18ba3bf57`](a31c84d)]:
    -   @vercel/build-utils@13.14.1

## @vercel/static-build@2.9.11

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.1.11

## @vercel/python-workers@0.0.14

### Patch Changes

- [services] migrate python workers to Queues V3 API
([#15885](#15885))

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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