Files
2026-09-09 09:59:54 +02:00

18 lines
2.4 KiB
Markdown

# Automatic deployment from Werkator
The main JVM job runs `tools/ci-jvm`: operational and JVM tests, production JAR, isolated production smoke, release manifest, then `tools/ci-deploy`. The job enables deployment through `WERKJOURNAL_CI_DEPLOY=1`; the final step also requires Werkator's `branch=main`. Local builds and other branches skip deployment. The manifest must match the build checkout and tracked source must be clean.
Deployment uses the same `tools/remote backend deploy --artifact build/release` procedure as manual releases. A failed deployment fails the CI job, including when the old release was successfully restored. Deployment output is retained in `build/reports/deployment/result.log`.
The per-repository Werkdock build home contains `.ssh/werkjournal_deploy` (private, mode 600) and `.ssh/werkjournal_known_hosts`. Neither is in Git or release artifacts. The corresponding public key is installed with `restrict` on the target account. SSH enforces the dedicated identity and pinned known host key. The build image already contains openssh-client. Key-based access from the buildhost to the target was verified without changing application data.
Only trusted main code should run in this deployment-enabled job: the key is available to this repository's build environment. Retain the main-only trigger when adding jobs.
End-to-end verification: Werkator commit 4b057dd7f51196ac1270f09de0380482045d982c succeeded in 129 seconds. The build stdout contains the deployment PASS for this exact commit. The target deployed.json and current release both match it and pending-deployment.json is absent. Public Today loaded successfully after automatic deployment.
## Frontend test runtime correction (2026-09-09)
Build 7b561e7 completed the JVM tests and production build, then failed with `No Node runtime available for frontend tests.` The Werkdock build home contains `.vaadin/node-v24.20.0/bin/node`; the script only recognized the older `.vaadin/node/bin/node` layout or PATH. `tools/test-frontend` now also searches executable versioned Vaadin installations, newest first. Local frontend tests and shell syntax validation passed. The subsequent CI run must verify this path in Werkdock and the complete deployment.
Werkator verification: commit `aac839d` succeeded in 157 seconds, including frontend tests and deployment. The runtime correction is confirmed in the actual Werkdock environment.