Yicong-Huang opened a new pull request, #6138:
URL: https://github.com/apache/texera/pull/6138

   ### What changes were proposed in this PR?
   
   The local-dev CLI grew unevenly, which makes it awkward to drive from agent 
CLIs and scripts. This PR unifies the surface:
   
   1. **`--json` on every one-shot subcommand.** `status`/`up`/`down` already 
had it; `auto` and `version` now accept it too. The convention is unchanged: 
human progress goes to stderr, one machine-readable status JSON object goes to 
stdout.
   2. **`up <service>` / `down <service>` replace `start`/`stop`.** The 
single-service `up` uses the same build knob as the full-stack form: rebuild + 
bounce only if the service's source changed since the last build (default), 
`--build` forces it, `--skip-build` never builds. It also handles the 
amber-sibling dist sharing (`texera-web` / `computing-unit-master` bounce 
together) and runs the jOOQ postgres-readiness check before any sbt build 
(#6007). The old `start`/`stop` and the bare `<service>` shorthand now refuse 
with a pointer to the new spelling. In the TUI, `u <svc>`, `d <svc>`, `s 
<svc>`, and a bare `<svc>` map onto the new forms.
   3. **`--skip-build` replaces `--no-build`** (the old flag refuses with a 
rename hint).
   4. **Every `--json` payload carries `elapsed_seconds`** — the command's 
total wall-clock runtime, so agents can log how long an `up`/`auto` took 
without wrapping the call in their own timer.
   
   One behavioral fix that falls out of (2): a full-stack `up` with no selector 
re-decides (and resets) the persisted deploy-source pointer, but `up <service>` 
is a scoped operation, so the startup peek now leaves the pointer alone when a 
positional service argument is present — a single-service bounce on a deployed 
PR worktree no longer silently re-points the deployment at the main checkout.
   
   ### Any related issues, documentation, discussions?
   
   Closes #6137. The `--help` header and the `status` footer hints are updated 
in place; `bin/local-dev/README.md` needed no changes.
   
   ### How was this PR tested?
   
   - `bash bin/local-dev/tests/test_local_dev_sh.sh` — 45 passed, 0 failed. 
Updated/added cases: unknown subcommand and `up <unknown-service>` errors, 
`start`/`stop` refuse with the new spelling, `--no-build` refuses with the 
rename hint, full-stack-only knobs (`--fresh`, `--skip`, selectors) are 
rejected in the single-service form, at most one positional service, `cmd_auto` 
wires `--json`, `version --json` and `status --json` carry `elapsed_seconds`, 
and the startup peek guards the deploy-pointer reset (isolated 
`TEXERA_LOCAL_DEV_DIR` so the flag-error `up` invocations never touch a real 
deployment's state).
   - `pytest bin/local-dev/tests/test_local_dev_tui.py` — 43 passed.
   - Manual smoke on a live stack: `version --json`, `status --json` (14/14 
running, `elapsed_seconds` present), `--help` renders through the new 
end-marker `sed` range.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Fable 5)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to