29 lines
1.7 KiB
Markdown
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.
|