soroban-cli icon indicating copy to clipboard operation
soroban-cli copied to clipboard

CLI: Packaging & Distribution

Open paulbellamy opened this issue 3 years ago • 4 comments
trafficstars

What problem does your feature solve?

How will normal users install and run the CLI?

What would you like to see?

We should figure out the release process for this project. We should do a CI pipeline (of some sort) which builds the CLI for installation. We should build binaries for:

  • amd64/x86 (arm?)
  • windows/mac/linux

Should we build a deb?

What alternatives are there?

paulbellamy avatar Aug 05 '22 15:08 paulbellamy

The priority of this issue is currently set to 🚨 Critical, but I think this is very much a 💎 Polish. Most contract developers will have Rust/cargo installed, and therefore it is trivial for most developers to install the tool without us maintaining any other binary generation and signing infrastructure. I think we should push this down the line to a later iteration, mostly because we're already struggling to setup a reproducible crate release system, and we should do that before this to ensure our releases are consistent, reproducible, etc.

leighmcculloch avatar Aug 08 '22 18:08 leighmcculloch

for scope, some more requirements related to cli packaging were mentioned on slack discussion per @leighmcculloch :

For the CLI I think it is most important that: It can be installed from source by anyone with the general toolset installed, i.e. cargo/rust. (already the case) – why: they already have it installed, so it’s a good catch all. It can be installed as a binary. (already the case) – why: it can be a base for some installers. It’s also important we eventually provide packaging, probably more than apt: apt for ubuntu/debian brew for mac / linux choco for windows (or alternative if there’s a better) arch? others?

sreuland avatar Nov 15 '22 20:11 sreuland

a debian/apt package of cli would be useful in upcoming e2e tests as an alternative to installation via cargo.

sreuland avatar Nov 15 '22 20:11 sreuland

a debian/apt package of cli would be useful in upcoming e2e tests as an alternative to installation via cargo.

You should be able to install the binary instead. We do that in a couple Docker images already. For an example for how to do that, see: https://github.com/stellar/soroban-examples/blob/fc5ef23277f4c032aa7102e4787b406ac2b2f6cd/.gitpod.Dockerfile#L3-L5

leighmcculloch avatar Nov 15 '22 20:11 leighmcculloch