These instructions apply to scripts/ and supplement the repository instructions.
conf/ holds environment setup and shared helpers, sbin/ holds launchers, and tools/ holds operational utilities. Their Windows counterparts live in the respective windows/ directories. Review the counterpart when changing shared behavior and keep arguments, configuration handling, and exit status consistent where applicable.target/.IOTDB_HOME, IOTDB_CONF, data/log directory, and JAVA_HOME handling. Quote paths and forwarded arguments, including paths with spaces.conf/iotdb-common.sh and conf/windows/iotdb-common.bat for shared behavior. Preserve Maven-filtered placeholders such as @tsfile.locale.opt@; inspect the packaged result when changing them. Keep supported Linux/macOS branches and explicitly guard platform-specific operations such as systemd integration.org.apache.iotdb.edge.EdgeNode main class and the exact installation IOTDB_HOME, including when recovering from a missing/stale PID file. Validate ownership again before forced termination; never fall back to a global process-name kill.edge.pid. During cleanup, stop only the matching installation's systemd service before stopping the process so it cannot restart while its data is being removed. Propagate stop/service failures instead of continuing.Run bash -n on each edited Bash script. This checks syntax only; exercise changed argument, path, process, and failure behavior with an isolated installation or the existing harness.
For Edge operational scripts or their assembly selection, run from the repository root:
python3 .github/scripts/test-edge-ops.py
The harness covers cleanup, daemon behavior, and assembly selection with temporary fixtures. Keep new cases similarly isolated; do not use an existing installation or real system service as a cleanup fixture.
For Windows Edge launchers, also run on Windows from the repository root:
powershell -NoProfile -File .github/scripts/test-edge-windows.ps1
These checks are wired into Edge IT. Report platform-specific checks that could not run; Unix results do not establish Windows behavior.
For packaged launcher or environment changes, rebuild the affected distribution and smoke-test its extracted scripts. Verify custom configuration, an unrelated working directory, occupied ports, and isolation from another installation when those behaviors are affected. Follow distribution verification for archive checks and Edge IT instructions for Tree/Table read-write verification.