Fix upgrade compatibility workflow setup
Fixed SeaTunnel's upgrade compatibility workflow so it selects the regular binary distribution, installs required legacy connectors deterministically, waits for real engine readiness, and cleans up launcher process trees.
apache/seatunnel · #11611
Problem
The upgrade compatibility runner could select the edge-agent archive instead of the regular SeaTunnel distribution, then fail because the archive did not contain `bin/seatunnel.sh`. Follow-on verification also exposed connector installation, startup detection, and process cleanup gaps that blocked old-to-current restore scenarios.
Approach
Restricted distribution selection to the regular SeaTunnel binary archive, added clear missing and ambiguous archive failures, switched connector and MySQL driver setup to deterministic `dependency:copy`, waited on the engine server log for worker registration, stopped child process trees, and added focused shell regression tests before scheduled compatibility runs.
Impact and scope
- Improves confidence in SeaTunnel release compatibility by making old-savepoint to current-distribution restore checks more reliable.
- Prevents CI from silently choosing the wrong packaged artifact when regular and edge-agent distributions are both present.
- Adds fast runner-level tests so archive selection, readiness detection, and cleanup regressions fail before expensive compatibility scenarios.
Validation
- Added shell coverage for regular archive selection, explicit archive override, missing and ambiguous distributions, engine-log readiness, and launcher child-process cleanup.
- PR evidence reports Java 8 verification, spotless formatting, full skip-test verify, and focused seatunnel-dist packaging checks.
- Both upgrade scenarios restored SeaTunnel 2.3.13 savepoints with the current dev distribution and passed output assertions.