Closed as not planned
Description
We provide nightly builds in solc-bin but these are emscripten-only. The static build artifacts on develop
in the main repo can also be used as nightlies but this is not apparent to users and explaining how to get them is not very straightforward. There are a few things we could do to improve this situation:
- Add
b_ubu_static
,b_win
andb_osx
runs to thenightly
workflow. This will make it easier for users to locate nightlies when they look into our CI. - Expand the solc-bin
README
- Document how to get nightlies from CircleCI. Point out that
b_ubu_static
,b_win
,b_osx
andb_ems
jobs produce static binaries and upload them as artifacts. Explain how to find the right workflow in CircleCI. - Add more info about the structure of solc-bin. What is in each dir and that there are lists with meta information. Use the info that's already available in docs on Static Binaries.
- Add links to latest binaries and nightlies.
bin/soljson-nightly.js
,bin/soljson-latest.js
, etc. Their locations do not change so it's possible to have a direct link in the README.
- Document how to get nightlies from CircleCI. Point out that
- Make static builds available at https://binaries.soliditylang.org
- Add a job to the nightly workflow to upload the static binaries to our S3 bucket.
- Use the
aws s3
utility (like we do ins3-mirror
workflow andsync-s3.sh
script). - The simplest option is to upload to the
solc-bin
bucket under some path that's not currently in use (e.g.nightly/
). You'll just need to exclude it in the S3 sync script to ensure the script does not delete the files when syncing. There should also be a check that this path does not exist insolc-bin
. - Using a separate bucket is also an option but then the content will not be served from under the
binaries.soliditylang.org
domain. This might still be acceptable given that we'll have links in theREADME
though. - We only need the latest nightly - no need to version them. They should be available at a predefined path that does not change. Each new upload can overwrite the existing nightlies. The old binaries are still available in CI for some time.
- Use the
- Add static links to these new nightlies in the
README
.
- Add a job to the nightly workflow to upload the static binaries to our S3 bucket.