-
Notifications
You must be signed in to change notification settings - Fork 5
Explicitly set the LATEST_VERSION of Java we build #113
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: master
Are you sure you want to change the base?
Conversation
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.
This PR re-introduces a bit of upkeep
The goal was originally to automate the most possible this repository to be maintenance free (hence the "keep up to date" automation to keep the worklow running).
I feel like once you move to some other topics, you tend to forget about it and maintenance cost / context switching become a burden.
I think this change provides a bigger benefit in making LATEST_VERSION explicit
To me, this won't make it explicit. You can't tell which specific version ends up in the built image.
To address this issue, the build already has a mechanism to describe and report what was built and tagged. Here is an example: https://github.com/DataDog/dd-trace-java-docker-build/actions/runs/16093503330
we will already need to make code changes such as updating tests, resolving incompatibilities, etc.
Yes, but those changes are 1. automated (ie the upgrade of the docker image is done using a workflow and creates a PR for) 2. located in the dd-trace-repo
only (which helps to people onboard to fix any compatibility issue).
open to other opinions!
My question would be why was the main reason you wanted to get rid of the compute_latest_version()
. Was it because it feels implicit? (as all other docker images we rely on) Was it because it felt cumbersome to read? Anything else?
A couple more thoughts about getting rid of
So clearly all my points are okay with leaving the method as is 😆 Just wanted to bring this up as an idea... I see your pro also that for upgrading our JDK support, we could isolate our manual efforts (as much as possible) to just the |
This is where I feel we miss documentation.
To me, we should update as soon as possible. The CI might be breaking, but it should not be blocking. Team must have a feedback about their current support and fix it according their own planning. We should not wait for everyone to be "next version ready" in order to provide it to our build.
Yes, we won't be able to avoid this kind of maintenance... Similar thing can happen with security issue. So far, the main goal was to automate this repository to make it work like a clockwork: provide regularly up-to-date build images with the latest tool available at the time and (trust it to) forget about it. If you're willing to actively maintain it and take care of it with manual maintenance, I'm good with that and be happy to hand it over to you :) My constraint was having limited time, so the less I had to spent its maintenance, the better it was. So it's up-to-you to shape it the way you want to maintain it! |
This PR re-introduces a bit of upkeep; However, it would be a minuscule change at max twice a year. And, whenever we increment the
LATEST_VERSION
of Java that we're testing, we will already need to make code changes such as updating tests, resolving incompatibilities, etc.I think this change provides a bigger benefit in making
LATEST_VERSION
explicit -- no need to check calculations, but open to other opinions!