feat(deploy-vercel): implement real CLI-backed vercel integration#229
feat(deploy-vercel): implement real CLI-backed vercel integration#229emil07770 wants to merge 1 commit into
Conversation
Replace stub with actual exec() calls to the Vercel CLI for build and ship.
- build(): runs `vercel build` (with `--prod` when on stable channel)
- ship(): runs `vercel deploy --token <token>` (with `--prod` on stable)
- Reads token via ctx.secret('VERCEL_TOKEN'), throws descriptive error if missing
- Short-circuits on ctx.dryRun in ship()
- Parses deployment URL from vercel stdout (https://*.vercel.app)
- Passes cwd and env to exec for proper isolation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Heads up — the failing |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
4 similar comments
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
|
🤖 Auto-rebase: The branch was rebased successfully locally but could not be pushed to the fork. Please enable 'Allow edits from maintainers' in the PR settings, or rebase manually: |
Summary
build()andship()with realexec()calls to the Vercel CLIbuild(): runsvercel build(with--prodwhenconfig.prodis set or channel isstable)ship(): runsvercel deploy --token <token>(with--prodon stable); passes token via both CLI flag and env varctx.secret('VERCEL_TOKEN'), throws descriptive error if missingctx.dryRuninship()https://*.vercel.app)cwd: ctx.projectDirandenv: { VERCEL_TOKEN }toexecfor proper isolationTest plan
VERCEL_TOKENsecret:sh1pt secret set VERCEL_TOKEN <token>sh1pt ship deploy-vercel --dry-runshould return{ id: 'dry-run' }without calling vercelsh1pt build deploy-vercelshould invokevercel buildsh1pt ship deploy-vercelshould invokevercel deploy --token <token>and return{ id, url }prod: trueorchannel: stable, should add--prodflagsh1pt secret set VERCEL_TOKEN🤖 Generated with Claude Code