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

29 lines
1.7 KiB
Markdown

# 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.