-
Notifications
You must be signed in to change notification settings - Fork 3
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
WIP: Expansion pack #3
base: master
Are you sure you want to change the base?
Conversation
This is great. Maybe we could zip the binaries to reduce the repo size? Looks like we can reduce the size by at least a factor of 3 |
@montyly I don't think we have that much room for improvement via compression. Also, these are binaries rather than text so they prob don't compress very well regardless. BUT if some library compresses these binaries significantly better than zlib, there could be some room for improvement.. which still probably isn't worth the overhead bc the |
Benchmark below. Cloning the repo requires downloading ~1.12 GB (it is decompressed to almost 5GB after) & takes almost 10 mins to clone. Not great but not terrible. It looks like the entire repo is compressed again before transferring over the wire too, giving us even less room for improvement via manual compression..
|
bohendo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
This PR introduces a
refresh.sh
script that will download a new json list of available versions from the solidity team & download any versions of solc which are not already present in this repo.This PR also introduced copies of the solc binary for all available versions (or, it will eventually,
git push
has been going for >10 mins..). Beware, this will make the repo very slow to clone.For each architecture, there is a folder of the same name which contains all solc binaries for that architecture. Additionally, each folder contains:
list-latest.json
: An auto-generated list of available solidity versions & their expected sha256 hash. Do not edit by hand otherwise your changes will be lost the next timerefresh.sh
is run.list-legacy.json
: A manually curated list of unusual solc versions that aren't covered by the public list of supported versions. All manual additions & updates should happen in this file.list.json
: An auto-generated list that is simply the combination of content from bothlist-latest.json
andlist-legacy.json
. If a version is specified by both lists, the one fromlist-legacy.json
will be prioritized here.