Files
werkjournal/docs/implementation/upload-activation-acceptance.md
2026-09-10 07:47:33 +02:00

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.