Skip to content

Make it easier for users to get nightly builds #13802

Closed as not planned
Closed as not planned
@cameel

Description

@cameel

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 and b_osx runs to the nightly 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 and b_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.
  • 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 in s3-mirror workflow and sync-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 in solc-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 the README 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.
    • Add static links to these new nightlies in the README.

Metadata

Metadata

Assignees

No one assigned

    Labels

    closed due inactivityThe issue/PR was automatically closed due to inactivity.medium effortDefault level of effortmedium impactDefault level of impactshould haveWe like the idea but it’s not important enough to be a part of the roadmap.solcbinstaleThe issue/PR was marked as stale because it has been open for too long.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions