Skip to content

Add JDK 27 to the build matrix & move Dockerfile generation & image smoke-testing to GH Actions - #298

Merged
cap10morgan merged 5 commits into
masterfrom
add-jdk-27
Oct 12, 2026
Merged

cap10morgan merged 5 commits into
masterfrom
add-jdk-27

Conversation

@cap10morgan

@cap10morgan cap10morgan commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

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.clj for 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.

cap10morgan and others added 5 commits October 9, 2026 14:53
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]>
@cap10morgan cap10morgan changed the title Add JDK 27 to the build matrix Add JDK 27 to the build matrix & move Dockerfile generation & image smoke-testing to GH Actions Oct 11, 2026
@cap10morgan
cap10morgan requested a review from Quantisan October 11, 2026 17:00
@Quantisan

Copy link
Copy Markdown
Owner

I like the idea.

Quite a lot of code... Any specific part that you want me to review?

@cap10morgan

Copy link
Copy Markdown
Collaborator Author

I like the idea.

Quite a lot of code... Any specific part that you want me to review?

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!

@cap10morgan
cap10morgan merged commit f8889a4 into master Oct 12, 2026
6 checks passed
@cap10morgan
cap10morgan deleted the add-jdk-27 branch October 12, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Temurin 27

2 participants