Repository navigation
Add JDK 27 to the build matrix & move Dockerfile generation & image smoke-testing to GH Actions - #298
Merged
Merged
Conversation
build-images now exits non-zero when an image fails to build, smoke tests each image it builds, and accepts --build-dir to limit what it builds. The new changed-build-dirs command prints the build dirs worth building to verify a staged change to target: one representative per identical change to existing build dirs, and a minimal set covering each JDK version, distro and build tool for new ones. The logger now drains before exit so failure output isn't lost. Co-Authored-By: Claude Opus 5.5 <[email protected]>
PRs no longer need to include regenerated Dockerfiles. CI regenerates them, builds and smoke tests a representative set of the affected images on amd64 and arm64, and on master commits the result as its own commit. The stale-Dockerfile check this replaces missed new files anyway, since git diff ignores untracked files. The official-images PR workflow now skips when the checked-out commit's Dockerfiles don't match its config, so the manifest never pins a stale commit. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Covering each JDK version and each distro separately let a new base image go unbuilt when its JDK and its distro were each covered by other build dirs, e.g. eclipse-temurin:27-jdk-resolute when JDK 26 also gains resolute. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Temurin doesn't publish JDK 27 on noble, so JDK 27 gets resolute instead and JDK 26 gets it alongside noble. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Owner
|
I like the idea. Quite a lot of code... Any specific part that you want me to review? |
Collaborator
Author
Nope, just wanted to make sure you like the idea (✅) and see if you noticed anything in the implementation worth addressing before merging. I'll go ahead and merge it and iterate from there if we run into any issues. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #296
I took this opportunity to make a change I've been thinking about for awhile: It would be nice to only need to edit
config.cljfor new tool / JDK versions, etc. and then let GitHub Actions take everything from there.So this PR adds that plumbing. Let me know what you think, @Quantisan.