feat(microbiology): separate no-growth review and release (OGC-782 R3) - #4074
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cf529f2365
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| elif not (context.repo_root / "target" / "OpenELIS-Global.war").is_file(): | ||
| raise RuntimeError("--skip-build requires target/OpenELIS-Global.war") | ||
| run( | ||
| compose_command(context, "up", "-d", "--remove-orphans"), |
There was a problem hiding this comment.
Recreate the backend after rebuilding its WAR
On a subsequent scripts/dev-stack up after a Java change, build_application replaces the mounted WAR, but build_images does not rebuild oe.openelis.org and this unchanged Compose invocation does not force that container to be recreated. The reviewed harness documentation at projects/analyzer-harness/README.md:78-84 explicitly says Tomcat caches the exploded WAR and requires a force-recreate, so the authoritative hot-reload command can complete while continuing to serve stale classes; recreate the backend service after the WAR build.
AGENTS.md reference: AGENTS.md:L740-L742
Useful? React with 👍 / 👎.
| JAVA_HOME="${JAVA_HOME_21:-$SDKMAN_DIR/candidates/java/$JAVA_VERSION}" | ||
|
|
||
| if [[ -z "$JAVA_VERSION" || ! -x "$JAVA_HOME/bin/java" ]]; then | ||
| echo "Java $JAVA_VERSION is not installed under SDKMAN at $JAVA_HOME" >&2 |
There was a problem hiding this comment.
Honor an already-selected Java 21 installation
When Java 21 is installed through the system package manager, mise, or asdf and exposed through the standard JAVA_HOME/PATH, this assignment ignores it and requires the exact SDKMAN candidate from .sdkmanrc unless the undocumented JAVA_HOME_21 variable is set. Consequently the only supported scripts/dev-stack up path exits before building even in a Java-21-compliant environment; it also rejects the documented 21.0.1-tem install because .sdkmanrc currently names 21.0.5-tem. Validate and reuse the selected Java 21 before falling back to SDKMAN.
AGENTS.md reference: AGENTS.md:L77-L89
Useful? React with 👍 / 👎.
| override = environment.get("DEV_STACK_BUILD_FRONTEND") | ||
| if override is not None: | ||
| return override.lower() == "true" | ||
| paths = ("frontend/package.json", "frontend/package-lock.json", "frontend/Dockerfile") |
There was a problem hiding this comment.
Rebuild the frontend for local Vite configuration changes
When a branch changes frontend/vite.config.ts, index.html, or another frontend root runtime/build input while these three files remain unchanged, this check selects the published develop image. The Compose definition only mounts frontend/src and frontend/public (projects/analyzer-harness/docker-compose.dev.yml:96-98), so those local configuration changes are neither rebuilt nor mounted and the development stack silently runs the old configuration; include all non-mounted frontend inputs in the rebuild decision or mount them.
Useful? React with 👍 / 👎.
Behavior slice
Validation
core-app: authenticated record -> review -> release -> Patient History -> mutation-lock journey (2/2 including auth setup)Stack
Local review
./scripts/dev-stack upCurrent isolated R3 URL during validation:
https://localhost:32855Known unrelated console signals
Existing analyzer-menu missing translations and duplicate plugin navigation keys remain visible in Playwright console output; they do not alter this Microbiology journey.