Repository navigation
refactor: expose deploy steps for reuse across commands - #296
Conversation
subnetmarco
left a comment
There was a problem hiding this comment.
The extraction is clean. I found no behavior change, and the new DeployAll tests cover the named-manifest path for both function kinds.
One mismatch with the description: the bullet "durable hints use CommandPath" isn't in this diff. functions deploy -f still hardcodes volcano cloud durable deploy -f, and so does the hint in excludeDurable. Both switch to CommandPath in #298. Either move that hunk here or drop the bullet, so the squash message matches what lands.
9f1445b to
16ae1d9
Compare
swkeever
left a comment
There was a problem hiding this comment.
Approving. The extraction preserves behavior for the existing commands. The only user-visible change is the local durable hint naming volcano durable deploy, which exists in the local tree. #297 and #298 only add to these entry points.
Nits inline, none blocking. One without a line to anchor: the exported entry points (functions.DeployAll, durable.DeployAll, frontends.Deploy, variables.Deploy, config.DeployManifest) panic on the first print if a caller leaves Out or ErrOut nil. The only caller today sets both; defaulting them or documenting that both are required would protect the next one.
Export DeployAll for functions and durable functions, Deploy for frontends and variables, DeployManifest for config, and ApplyAll for migrations, so a single command can run them in sequence. Function and durable deploys take an explicit manifest path. envfile exports ResolvePath and ErrNotFound so callers can tell a missing default env file from other failures. Co-authored-by: Cursor <cursoragent@cursor.com>
…abase in ApplyAll Co-authored-by: Cursor <cursoragent@cursor.com>
16ae1d9 to
1954160
Compare
Summary
First of three stacked PRs for
volcano deploy. The only behavior changes are the durable hint text in local mode and the manifest name in durable messages.DeployAllfor functions and durable functions,Deployfor frontends and variables,DeployManifestfor config,ApplyAllfor migrationsvolcano-config.yamlwhen the default lookup found itApplyAlltrims the database and refuses an empty one, likemigration upenvfileexportsResolvePathandErrNotFound, so a caller can tell a missing default env file from other failuresCommandPath, so localvolcano functions deploynamesvolcano durable deployinstead of the cloud commandStack:
volcano deployVerification
make lintgo test ./...: the durable hint test covers both the cloud and the local treevolcano durable deploy --allhint