Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
TIP This summary will be updated as you push new changes. Give us feedback
There was a problem hiding this comment.
Pull request overview
This PR updates the Quarkus playground packaging and CI to target JDK 25 and to introduce build-time AOT cache generation for the container image, while adding Quarkus integration-test wrappers to run the existing REST tests as ITs.
Changes:
- Add
@QuarkusIntegrationTestwrapper classes (*RestIt) for existing REST test suites. - Rework the Quarkus playground Dockerfile into a multi-stage build that attempts to generate and ship an AOT cache.
- Update the Docker publish workflow to build with Java 25 (GraalVM) and enable Quarkus jar AOT packaging; document the base image change in the changelog.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
fj-doc-playground-quarkus/src/test/java/org/fugerit/java/doc/playground/ValRestIt.java |
Adds IT wrapper for ValRestTest. |
fj-doc-playground-quarkus/src/test/java/org/fugerit/java/doc/playground/GenerateRestIt.java |
Adds IT wrapper for GenerateRestTest (contains a compile-breaking unused import). |
fj-doc-playground-quarkus/src/test/java/org/fugerit/java/doc/playground/ConfigRestIt.java |
Adds IT wrapper for convert tests, but naming doesn’t match the base test class. |
fj-doc-playground-quarkus/src/test/java/org/fugerit/java/doc/playground/ConfigConvertRestIt.java |
Adds IT wrapper for ConfigConvertRestTest. |
fj-doc-playground-quarkus/src/test/java/org/fugerit/java/doc/playground/CatalogRestIt.java |
Adds IT wrapper for CatalogRestTest. |
fj-doc-playground-quarkus/Dockerfile |
Introduces multi-stage AOT cache build + runtime startup that uses the cache if present (currently risks failing the image build). |
CHANGELOG.md |
Notes the Quarkus playground base image move to ubi9/openjdk-25-runtime. |
.github/workflows/docker_publish.yml |
Builds/publishes using Java 25 (GraalVM) and enables Quarkus jar AOT. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Copia l'AOT cache generata nello stage precedente | ||
| COPY --chown=185:0 --from=aot-builder /deployments/app.aot /deployments/app.aot | ||
|
|
There was a problem hiding this comment.
The AOT generation step explicitly warns that /deployments/app.aot might not be generated, but the runtime stage unconditionally COPYs that file from aot-builder. If AOT generation fails or times out, the Docker build will fail at this COPY. To make the build resilient, ensure the file always exists (e.g., create an empty placeholder when missing) or adjust the build so the runtime stage doesn’t depend on a conditional artifact.
There was a problem hiding this comment.
@copilot apply changes based on this feedback
There was a problem hiding this comment.
Ok thanks for the feedback
There was a problem hiding this comment.
Fixed in af47d91. When AOT cache generation fails or times out, the builder stage now runs touch /deployments/app.aot to create an empty placeholder, ensuring the COPY in the runtime stage always succeeds. The existing [ -s app.aot ] check in the CMD already handles the empty-file case by falling back to normal startup.
…layground/ConfigRestIt.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…layground/GenerateRestIt.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…event COPY failure in Docker build Agent-Logs-Url: https://github.com/fugerit-org/fj-doc/sessions/ffe19657-b523-4007-926f-bca40d9571c4 Co-authored-by: fugerit79 <20170348+fugerit79@users.noreply.github.com>
|



No description provided.