Repository navigation
fix(devcontainer): bump Java feature to 1.8.3 to fix SDKMAN version lookup - #2892
Merged
Merged
Conversation
…ookup The devcontainer lockfile pinned ghcr.io/devcontainers/features/java to 1.8.0. That version resolves "version": "25" by regex-matching SDKMAN's live candidate list, and its regex cannot parse build metadata (+N). On 2026-10-14, SDKMAN's only Temurin 25 identifier changed from 25.0.4-tem to 25.0.4.1+1-tem, so the feature fails with "Version 25 not found" and every CI build job that installs the feature from scratch fails while building the devcontainer. Upstream fixed the version matching in 1.8.2 (devcontainers/features#1714). Bump only the java entry to 1.8.3 (the current java:1 tag), leaving all other pinned features unchanged.
neilv-g
added this pull request to stack #2908
October 19, 2026 15:39
jrobbins
approved these changes
Oct 19, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to no response for status checks
Oct 19, 2026
Closed
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.
What
Bumps the pinned
ghcr.io/devcontainers/features/java:1entry in.devcontainer/devcontainer-lock.jsonfrom1.8.0to1.8.3, which is what the floatingjava:1tag currently resolves to. No other features change, anddevcontainer.jsonis unchanged.Why
The CI
buildjob currently fails for every PR while building the devcontainer (e.g. #2891):devcontainer.jsonrequests Java"version": "25"with"jdkDistro": "tem". The Java feature resolves that against SDKMAN's live candidate list at build time.1.8.0(pinned since chore(deps): bump toolchain and dependencies and resolve linter and security breakages #2606) matches candidates with a regex that can't handle build metadata (+N).25.0.4-temto25.0.4.1+1-tem(Temurin'sjdk-25.0.4.1+1re-spin). The last greenmainbuild (Oct 14, 00:32Z) installed25.0.4-temwith the same pinned1.8.0; the next build (chore(deps): increase Dependabot cooldown period to 21 days #2891, 21:50Z) failed.1.8.2(Fix java version matching devcontainers/features#1714).1.8.3also derives the SDKMAN platform whenvar/platformis missing (Fix Java feature installMaven failure when version="none" (missing var/platform) devcontainers/features#1721).How
Updated
version,resolved, andintegrityfor the java entry to the1.8.3manifest digest (sha256:61a83921…), verified against GHCR as the digest for bothjava:1.8.3andjava:1.Testing
Ran each pinned version's
install.sh(VERSION=25,JDKDISTRO=tem) inmcr.microsoft.com/devcontainers/base:trixie, the base image of.devcontainer/Dockerfile:1.8.0(old pin)Version 25 not found. Available versions:(exit 1), same as CI1.8.3(new pin)Installing: java 25.0.4.1+1-tem…Done!(exit 0)The
buildjob on this PR is the end-to-end check, since it installs devcontainer features from scratch.Corrected Assumptions / Learnings
devcontainer-lock.jsontakes precedence over floating feature tags: CI installed java1.8.0(the locked digest) even thoughjava:1resolves to1.8.3."version": "25", the script still queries SDKMAN at build time, so upstream data changes can break a pinned build, and the pin keeps upstream fixes out until someone bumps it.devcontainersecosystem has never opened a devcontainer-feature PR in this repo, and the lockfile hadn't changed since chore(deps): bump toolchain and dependencies and resolve linter and security breakages #2606. Follow-up: check the Dependabot devcontainers job logs, or decide whether to keep the lockfile.buildjob'scacheFromimage (webstatus-dev-devcontainer-ci-precommit) isn't published by any workflow, so that job always installs features from scratch. Theplaywrightjob only passed because its Java layer was cached from the Oct 13 weekly base image, which masked the failure.