Yicong-Huang opened a new pull request, #5994:
URL: https://github.com/apache/texera/pull/5994
### What changes were proposed in this PR?
`bin/local-dev/` already housed the docker-compose overlay + the two test
suites, but the engine files that drive everything sat one level up next to a
dozen unrelated `bin/*.sh`. Move them in:
```
bin/local-dev.sh → bin/local-dev/main.sh (engine)
bin/local-dev-tui.py → bin/local-dev/tui.py (Textual dashboard)
```
A 3-line wrapper stays at `bin/local-dev.sh`, so muscle memory + every
`bin/local-dev.sh ...` invocation (docs, contributor habit, scripts) keeps
working unchanged. The wrapper is the **only** path users ever see — `--help`,
error hints, status-screen tip block, and the new `bin/local-dev/README.md` all
reference `bin/local-dev.sh`; the engine path isn't surfaced anywhere a user
runs into.
After:
```
bin/
├── local-dev.sh ← thin wrapper: exec local-dev/main.sh "$@"
└── local-dev/
├── main.sh ← engine (was bin/local-dev.sh)
├── tui.py ← Textual TUI (was bin/local-dev-tui.py)
├── docker-compose.override.yml
├── README.md ← new (folder layout + how to run tests +
how to add a service)
└── tests/
```
Path updates that follow from the move:
* `main.sh`: `REPO_ROOT` climbs `../..` instead of `..`; TUI exec path
points at `bin/local-dev/tui.py`.
* `tui.py`: `REPO_ROOT = Path(__file__).resolve().parents[2]`.
* `tests/conftest.py`: `TUI_PATH` updated.
* `tests/test_local_dev_sh.sh`: the `bash -n` check discovers every `*.sh`
under `bin/local-dev/` via `find -print0` (macOS bash 3.2 has no `globstar`),
so the wrapper's syntax check now covers the engine too.
`bin/**`-anchored labeler + CI globs (`infra:` label, `find bin -name
'test_*.sh'`, `pytest bin/`) keep matching without edit.
### Any related issues, documentation, discussions?
Closes #5993.
### How was this PR tested?
* `bash bin/local-dev/tests/test_local_dev_sh.sh` → `9 passed, 0 failed`.
* `python -m pytest bin/local-dev/tests/ -q` → `38 passed in 0.13s`.
* `bin/local-dev.sh version` returns the expected
`1.3.0-incubating-SNAPSHOT`.
* `bin/local-dev.sh --help` and `bin/local-dev.sh status` (no-arg) render
the same dashboard + tip block as before, all referencing `bin/local-dev.sh`
(no `main.sh` leakage).
* `bin/local-dev.sh -i` was sanity-checked manually: the TUI loads and the
dashboard binds to the same state directory.
Both test suites also run in the `infra` GitHub Actions job; no workflow
changes are needed.
### Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Anthropic, Claude Opus 4.7).
--
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]