-
Notifications
You must be signed in to change notification settings - Fork 115
ci(l2): adds step in release workflow to compile and cache solc with lower GLIBC version. #5015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ith lower GLIBC version.
linux uses amd64 always, since arm64 build uses qemu for sp1, we can run the amd64 version without issue.
| sudo curl -L -o /usr/local/bin/solc https://github.com/argotorg/solidity/releases/download/v0.8.29/solc-macos | ||
| sudo chmod +x /usr/local/bin/solc | ||
| fi | ||
| solc --version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested here: https://github.com/samoht9277/ethrex/actions/runs/18925460915
This works because ARM builds depend on docker/setup-qemu-action for the SP1 dependency to work.
We can take advantage of this by using the amd64 version of the binary on Linux (which is also compiled statically) for the ARM version as well.
Motivation
This PR changes the ARM build environment from Ubuntu 24.04 to Ubuntu 22.04.
The goal is to compile Ethrex with an older glibc, increasing compatibility with systems running older Linux versions.
It also updates how Solidity is handled. Since
solcdoesn’t publish ARM binaries, we previously used a third-party ARM build that required a newer glibc, breaking builds on Ubuntu 22.04.Now,
solcis compiled from source and cached. This ensures it links against the same glibc version as the 22.04 system, allowing Ethrex to build and run on environments with lower glibc versions.Description
solcis built from source and cached to match system glibc.