1.7 KiB
Upload without activation (WJ-025)
The packaged-application harness supports --upload-only. It runs an unchanged
copy of tools/remote backend upload -y --artifact ... and its helper scripts
with an isolated configuration. A local SSH adapter captures the actual tar
stream, requires upload mode and refuses a second transfer. No network
connection is made. The real server-side Deployment.upload() consumes that
stream and verifies/stages the candidate manifest and executable.
The fixture verifies that upload leaves the existing JVM process, selected
release and deployed manifest unchanged, without introducing maintenance or a
pending deployment. It then calls the real service-control restart function
using the existing local JVM adapter. The new process must still select A,
pass HTTP/Flow readiness and retain the saved work entry. B's deliberately
failing migration must never have run. Mail is trapped and push is disabled.
The report is build/reports/production/upload-activation.json. Host SSH and
systemd behavior remain covered separately; this scenario checks the command,
transported artifact, upload algorithm, restart selection and real application.
productionAcceptance includes WJ-025 by default. For targeted local diagnosis,
-PproductionTags=@WJ-025 selects only this scenario; tools/ci-jvm passes no
such override and retains the complete production acceptance selection.
Verification: the standalone upload probe passed, followed by the targeted
WJ-025 Gradle/Cucumber run on 0.1.85-SNAPSHOT: all four steps passed in
38.148 seconds. The initial Cucumber run caught the unescaped slash in the
tools/remote step expression; escaping it fixed the binding. Completion
version: 0.1.86-SNAPSHOT. Full CI verification is pending.