Repository navigation
fix(ci): Pin evmd build to v0.5.1 instead of cosmos/evm@main - #1957
Merged
Merged
Conversation
scripts/evmd/build.sh defaulted EVMD_VERSION to "main", so every CI run
rebuilt the evmd image from whatever HEAD of cosmos/evm happened to be at
the time. Upstream changed its mempool/config.toml schema and now refuses
to start with the templated config:
EVM mempool enabled, but comet-bft has invalid config.toml:
mempool.type (want 'app', got 'flood'): error in app.toml
This makes the evmd container exit immediately, the "Initialize evmd"
step time out at 60s, and the test, test-backends, test-chrome and
test-with-coverage jobs all fail with exit code 124.
Pin EVMD_VERSION to v0.5.1 to match VERSION in scripts/evmd/env (the
docker image tag) and ARG EVMD_VERSION in scripts/evmd/Dockerfile, so
the binary we ship matches the templated app.toml/config.toml. The env
override is preserved for local experimentation.
Made-with: Cursor
Greptile SummaryThis PR fixes a CI breakage by changing the default Confidence Score: 5/5Safe to merge — single-line default value fix with no logic changes. The change is a one-line pin of a version string that is already consistently used across the Dockerfile and env file. No new logic is introduced, and the fix directly resolves a documented CI failure. No files require special attention. Important Files Changed
|
The unpinned golang:alpine base image rolled to Go 1.25+, breaking the
build with:
/go/pkg/mod/github.com/bytedance/sonic@v1.14.2/internal/rt/stubs.go:33:22:
undefined: GoMapIterator
cosmos/evm v0.5.1 transitively depends on bytedance/sonic v1.14.2, which
references GoMapIterator from the Go runtime; that symbol was removed in
Go 1.25 (bytedance/sonic#895). cosmos/evm's
go.mod declares `go 1.23.8`, so pinning to golang:1.24-alpine satisfies
the toolchain requirement while staying below the breaking Go 1.25 cut.
Made-with: Cursor
3 of 5 tasks
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.
Summary
scripts/evmd/build.shdefaultedEVMD_VERSIONtomain, so every CI run rebuilt the evmd Docker image from whatever HEAD ofcosmos/evmhappened to be at the time. Upstream changed its mempool /config.tomlschema and the templated config no longer satisfies it:The container exited immediately, the
Initialize evmdstep timed out at 60s, and thetest,test-backends,test-chrome, andtest-with-coveragejobs all failed with exit code 124. This had been breaking every PR (e.g. #1956).Pinning to
v0.5.1then surfaced a second, latent issue: the unpinnedgolang:alpinebase image had rolled to Go 1.25+, and Go 1.25 removed the runtimeGoMapIteratorsymbol thatbytedance/sonic v1.14.2(a transitive dep ofcosmos/evm v0.5.1) references — see bytedance/sonic#895:Changes
scripts/evmd/build.sh— defaultEVMD_VERSIONtov0.5.1so the source we build matchesVERSIONinscripts/evmd/env(thecosmjs/evmd:v0.5.1image tag),ARG EVMD_VERSION=v0.5.1inscripts/evmd/Dockerfile, and the templatedapp.toml/config.toml. The override env var is preserved for local experimentation.scripts/evmd/Dockerfile— pin the builder togolang:1.24-alpine.cosmos/evm v0.5.1'sgo.moddeclaresgo 1.23.8, so 1.24 satisfies the toolchain requirement while staying below the Go 1.25 break.Test plan
bash -n scripts/evmd/build.sh— cleanEVMD_VERSION=…override still works (default is:-v0.5.1)cosmjs/evmd:v0.5.1fromcosmos/evm@v0.5.1ongolang:1.24-alpineandInitialize evmdreturns within 60s on this PR