chore: refresh stale sandbox dev container version pins#161
Merged
Conversation
1a053d4 to
8c3bdca
Compare
f5de29e to
7e47708
Compare
7e47708 to
7e7d7d1
Compare
dd83f01 to
1ba668e
Compare
7e7d7d1 to
4128599
Compare
30830d1 to
f9a4aa8
Compare
4128599 to
b6487ce
Compare
f9a4aa8 to
9131812
Compare
b6487ce to
109e921
Compare
sandbox-uv's UV_VERSION and sandbox-mise's MISE_VERSION had drifted from their images' build.yaml (these plain version args aren't Renovate-managed — renovate.jsonc's devcontainer.json regex manager only matches @-suffixed values, so they were silently going stale; worth a separate follow-up). Refresh both, and update sandbox-uv's GH_VERSION renovate annotation to match #164's new datasource=deb tracking now that gh installs from GitHub's apt repository. sandbox-rust needs no changes: rust/Dockerfile now verifies rustup-init against a checksum file committed directly under rust/ (bind-mounted from the build context) rather than a build arg, so sandbox-rust's existing DEBIAN_TAG/RUSTUP_VERSION args are already sufficient — no per-devcontainer duplication needed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rt6cdQY4Q3ie1xpMgyy33S
109e921 to
2a1f370
Compare
The devcontainer.json custom manager only matched values containing an `@` (`tag@sha256:digest` or `name@version` forms), so any build arg set to a bare version string — MISE_VERSION, UV_VERSION, GH_VERSION, RUSTUP_VERSION, GOLANG_VERSION, GOPLS_VERSION, NODE_VERSION, COREPACK_VERSION, BUN_VERSION, TERRAFORM_VERSION, TERRAFORM_LS_VERSION, ZIG_VERSION, ZLS_VERSION, SHELL_COMPLETIONS_COMMIT across every sandbox devcontainer.json — was silently unmanaged by Renovate. This is the actual root cause behind sandbox-mise/sandbox-uv's stale MISE_VERSION/UV_VERSION fixed earlier in this PR. Add a third matchString mirroring build.yaml's existing "plain version, no digest" pattern, adapted for JSON: it explicitly skips the quoted key before capturing the value, since a naive port of the YAML pattern would otherwise match the key name itself as currentValue (verified by testing both against real annotated values). Verified against every renovate-annotated value in .devcontainer/*/devcontainer.json (25 comments across 10 files): each now resolves to exactly one pattern with the correct currentValue, including all the previously-unmatched plain-version entries. Also validated with `renovate-config-validator`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rt6cdQY4Q3ie1xpMgyy33S
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.
#158 has merged, so this now targets
maindirectly with just this PR's own changes.Summary
sandbox-uv'sUV_VERSIONandsandbox-mise'sMISE_VERSIONhad drifted from their images'build.yaml, andsandbox-uv'sGH_VERSIONannotation still referenced the oldcli/cliGitHub-releases datasource from before chore(uv): install gh CLI from apt repository instead of downloading #164 switchedghto an apt package. Refresh all three.devcontainer.jsoncustom Renovate manager only matched values containing@(tag@sha256:digestorname@version), so every plain-version build arg across everysandbox-*/devcontainer.json—MISE_VERSION,UV_VERSION,GH_VERSION,RUSTUP_VERSION,GOLANG_VERSION,GOPLS_VERSION,NODE_VERSION,COREPACK_VERSION,BUN_VERSION,TERRAFORM_VERSION,TERRAFORM_LS_VERSION,ZIG_VERSION,ZLS_VERSION,SHELL_COMPLETIONS_COMMIT— was silently unmanaged by Renovate. This is what actually letMISE_VERSION/UV_VERSIONgo stale despite carrying a// renovate:comment. Added a third matchString pattern (mirroringbuild.yaml's existing "plain version, no digest" pattern) that explicitly skips the quoted JSON key before capturing the value.Test plan
// renovate:comment across all 10.devcontainer/*/devcontainer.jsonfiles (25 total) resolves to exactly one pattern with the correctcurrentValue, including a check that the fix doesn't accidentally capture the JSON key name instead of the valuenpx renovate-config-validatorpasses on the updatedrenovate.jsoncdevcontainer-check.ymlbuildssandbox-rust,sandbox-uv,sandbox-misesuccessfullysandbox-golang'sGOLANG_VERSION)