fix(ci): bump linux/ems build images to unblock v0.8.29#131
Merged
CodeNinjaEvan merged 1 commit intoJul 10, 2026
Merged
Conversation
b_linux image shipped GCC 9.4.0 (needs g++ >= 11); b_ems image shipped Z3 4.12.1 (needs exactly 4.13.3). Bump both to upstream's ubuntu2404-3 / emscripten-20 digests. Switch to SOLC_LINK_STATIC and drop USE_Z3_DLOPEN/USE_CVC4, which upstream removed in v0.8.29.
|
Thank you for your contribution to the Solidity compiler! A team member will follow up shortly. If you haven't read our contributing guidelines and our review checklist before, please do it now, this makes the reviewing process and accepting your contribution smoother. If you have any questions or need our help, feel free to post them in the PR or talk to us directly on the #solidity-dev channel on Matrix. |
CodeNinjaEvan
approved these changes
Jul 10, 2026
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.
Problem
The
Build binaries on multi platformworkflow fails onrelease_0.8.29(run 29002760313).b_linuxandb_emsboth die inRun build script;b_macosandb_windowspass because they have no container.Both container images are pinned by digest and had gone stale relative to what v0.8.29 requires — but for two different reasons:
b_linuxsha256:84a1fb87…cmake/EthCompilerSettings.cmake:94b_emssha256:c57f2bfb…CMakeLists.txt:107(STRICT_Z3_VERSIONdefaults toON)The Z3 gate only lives in the emscripten branch, so it hits
b_emsalone. Neither failure is a compiler-13 issue.Fix
Bump both digests to the ones upstream v0.8.29 uses (from
.circleci/config.ymlparameters):b_linux→sha256:ef6a91d7…(ubuntu2404-3, gcc-13)b_ems→sha256:98f963ed…(emscripten-20, buildsz3-4.13.3perscripts/docker/buildpack-deps/Dockerfile.emscripten:52)Note
scripts/build_emscripten.sh:40already pinssha256:98f963ed…— it came in with the v0.8.29 merge, sobuild.ymlwas out of sync with our own tree. A comment now marks the two places to keep together.Also:
b_linuxCMAKE_OPTIONS-DUSE_Z3_DLOPEN=ON -DUSE_CVC4=OFF -DSOLC_STATIC_STDLIBS=ONwas copied verbatim from upstream'sb_ubu_staticback in7308abc08(first released in v0.8.0) and never updated since. Upstream has moved on three times:b8ba5da12(v0.8.27) — CVC4 → cvc5,USE_CVC4gonec8d9fc3fb(v0.8.29) — z3 dlopen removed,USE_Z3_DLOPENgoneeceea8222(v0.8.29) — back to a fully static build:SOLC_STATIC_STDLIBS→SOLC_LINK_STATIC, image bumped to ubuntu 2404So as of the v0.8.29 merge,
USE_Z3_DLOPENandUSE_CVC4no longer exist in the project (0 hits tree-wide) and are silently ignored. This PR replays upstream'seceea8222on our side:-DCMAKE_BUILD_TYPE=Release -DSOLC_LINK_STATIC=ON.Why this matters:
SOLC_LINK_STATIC(-static) andSOLC_STATIC_STDLIBS(-static-libgcc -static-libstdc++only) are anif/elseifinsolc/CMakeLists.txt:18-33. KeepingSOLC_STATIC_STDLIBSwhile moving to the 24.04 image would leavesolc-static-linuxdynamically linked against glibc 2.39 — unrunnable on older distros, despite the name. Upstream dropped dlopen precisely so it could go fully static again in the same release.TERM: xtermadded to both jobs to match upstream's env.b_macos/b_windowsenv already matches upstream exactly and is untouched.Verification
EthCompilerSettings.cmake:94,CMakeLists.txt:107)emscripten-20is confirmed to buildz3-4.13.3build.ymlstill parses; all 5 jobs intactSOLC_LINK_STATIC=ONon this sameubuntu2404-3image, so the combination is already provenReal validation is this workflow going green on the PR.
🤖 Generated with Claude Code