-
Notifications
You must be signed in to change notification settings - Fork 1.2k
chore(deps): update eclipse-temurin docker tag to v21.0.9_10-jdk-alpine #368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
chore(deps): update eclipse-temurin docker tag to v21.0.9_10-jdk-alpine #368
Conversation
|
/gcbrun |
Summary of ChangesHello @renovate-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on maintaining the currency and security of the project's build environment by updating the base Java Docker image. It ensures that the example applications for Gradle and Maven are built using the latest patch version of the Eclipse Temurin JDK 21 Alpine image, which can bring stability improvements and critical security fixes. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates the eclipse-temurin JDK base image from version 21.0.7_6 to 21.0.9_10 in the Dockerfiles for both the Gradle and Maven examples. While this update is beneficial for security and bug fixes, my review highlights a significant discrepancy: the build configurations (cloudbuild.yaml) for both examples use JDK 17, while the runtime environments in the Dockerfiles are based on JDK 21. This version mismatch can lead to unexpected runtime issues. I've recommended aligning the JDK versions across the build and runtime environments for better stability and consistency. Additionally, I've suggested pinning the Docker base images by their digest for more secure and reproducible builds.
| # limitations under the License. | ||
|
|
||
| FROM eclipse-temurin:21.0.7_6-jdk-alpine | ||
| FROM eclipse-temurin:21.0.9_10-jdk-alpine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While updating the JDK version is a good practice, I've noticed that the build environment defined in gradle-example/cloudbuild.yaml uses JDK 17 (gradle:8-jdk17), whereas this Dockerfile specifies a JDK 21 runtime. Using different major JDK versions for build and runtime can lead to subtle compatibility issues and prevents you from using newer language features. It's highly recommended to align the JDK versions across your build and runtime environments.
For more deterministic and secure builds, I've updated this line to pin the base image using its digest (@sha256:...) instead of a mutable tag. This ensures you're always using the exact same base image.
FROM eclipse-temurin@sha256:4c73b24803c642e8a7f7634335a4358d1931cf94132367f6f1c13750e5995b0b
| # limitations under the License. | ||
|
|
||
| FROM eclipse-temurin:21.0.7_6-jdk-alpine | ||
| FROM eclipse-temurin:21.0.9_10-jdk-alpine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to the gradle example, I've noticed a mismatch between the build and runtime JDK versions. The build environment in maven-example/cloudbuild.yaml uses JDK 17 (maven:3-eclipse-temurin-17-alpine), but this Dockerfile uses a JDK 21 runtime. To ensure consistency and prevent potential runtime issues, it's best practice to use the same major JDK version for both building and running your application.
For improved build reproducibility and security, I've also updated this line to pin the base image by its digest (@sha256:...) rather than a tag, which can be overwritten.
FROM eclipse-temurin@sha256:4c73b24803c642e8a7f7634335a4358d1931cf94132367f6f1c13750e5995b0b
This PR contains the following updates:
21.0.7_6-jdk-alpine->21.0.9_10-jdk-alpineConfiguration
📅 Schedule: Branch creation - "before 8am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.