zmuxuny opened a new pull request, #7386: URL: https://github.com/apache/rocketmq-dashboard/pull/7386
### Which Issue(s) This PR Fixes Fixes #7316. Refs #6623. Replaces stale-closed #6648 with the current preserved branch; the original review and discussion remain there. ### Brief Description Keep the narrow environment-recovery fix permitted in [the original maintainer review](https://github.com/apache/rocketmq-dashboard/pull/6648#pullrequestreview-5531450682). If source extraction fails after removing deploy/, recreate that directory before restoring the saved deploy/.env. Preserve the first source-replacement failure; if replacement succeeded but restoration fails, return the restoration error instead of reporting success. A failed backup still prevents source cleanup. Current head: 02b8eaf09c455d7ab3aa2c10d068734c5349dd0c, containing current rocketmq-studio base 7abf8adaf660d75f2d686bbe8741be76c3a5ddd3. The net diff is only deploy/deploy.sh and deploy/test_deploy_source.py. No workflow change is included; the rmqctl cleanup already landed in #6676 and is not duplicated. The fixed shared backup path and broader deployment design are unchanged. ### How Did You Test This Change? Fresh verification on November 4, 2026: - python deploy/test_deploy_source.py -v: all eight offline regressions passed, including a final restored-source rerun. - Negative control: replaced only deploy.sh with untouched current upstream while retaining the new tests. Five passed, two failed and one errored: extraction failure lost deploy/.env, and restoration/directory-creation failures were not propagated. Restoring the candidate returned all eight to passing. - bash -n deploy/deploy.sh and git diff --check passed. The working tree is clean, and the public fork head matches the tested commit. - The harness invokes the actual production Bash functions and real local tar in isolated temporary trees. SSH/SCP/Docker boundaries and failure exit codes are controlled fixtures. It covers successful replacement, a fresh tree, environment/persistent-file preservation, backup failure, extraction failure, restoration failure and first-error precedence. These are offline regression results, not a live SSH/Docker deployment. Damaged archives, partial extraction, remote default-shell behavior and cleanup/archive-removal failures were not separately exercised. Full frontend/backend suites were not rerun locally for this shell-only change. CI for this replacement must be checked on the exact current head; the old PR's historical green checks are not new results. AI assistance was used for implementation, regression authoring and review. -- 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]
