-
Notifications
You must be signed in to change notification settings - Fork 44
Refactor enterprise-java image to use SDKMAN for versioning #306
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?
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.
Pull Request Overview
This PR refactors the enterprise-java Docker image to use SDKMAN for managing Java development tool versions instead of manual downloads and installations. This approach simplifies version management and resolves previous Maven download issues.
- Replaces manual JDK, Gradle, and Maven installation with SDKMAN-based management
- Updates to latest LTS versions: OpenJDK 21.0.8, Gradle 8.14.3, and Maven 3.9.11
- Eliminates hardcoded download URLs and hash verification by delegating to SDKMAN
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Unsure why the pipeline building the Docker images is failing, but I don't believe it is anything to do with my changes |
6dc51d6
to
da1d939
Compare
Yeah this is on us to figure out, sorry about that For now I cherry-picked your changes into a different PR #308 |
@tw29845 I get this when building on
https://github.com/coder/images/actions/runs/17132138297/job/48598919038?pr=308 |
Are you able to tell me what the output of |
if memory serves,
|
So far as I can find, SDKMAN does not support 32-bit ARM architecture. There is a ticket asking about just that, but no replies (see here). I have hacked together a workaround for the installation of SDKMAN itself that uses the 64-bit ARM release, but even after that I get errors when verifying the installation of Maven. |
@matifali AFAICT the only reason I'm aware we support the armv7 architecture is for the older models of Raspberry Pi. I'd rather not drop support for this platform as it's a popular community use-case for Coder. @tw29845 another possibility is that we add this as a new image Thoughts? |
That's absolutely fine, happy to see continued support for older platforms!
I'd be happy with that, though I'm unsure of how one specific image could be configured to not being one specific architecture fitting with your current build processes. The easiest solution would be to add a new depot command to |
7aefce2
to
1adc1bb
Compare
…4 and arm64 for java-sdkman. Refactored java image to resolve breakage when new Maven is released and to improve layer caching.
1adc1bb
to
490d548
Compare
@johnstcn ready for review |
sdk
CLI.