gizatechxyz / scarb-agent

All you need to build provable web3 Agents!
https://orion-giza.gitbook.io/scarb-agent
Apache License 2.0
4 stars 0 forks source link

feat: Add CI and installation script #22

Open Gonmeso opened 2 months ago

Gonmeso commented 2 months ago

Feature Request

Describe the Feature Request

As this is a CLI tool we need an easy way for developers to install and upgrade the CLI, making it so we need cargo to install this makes it harder to accomplish by agent developers.

I propose to create a CI/CD that compiles and generates the binary files for Giza most common systems (mainly MX MacOs - arm64) and we provide an easy way to install it, like scarb:

curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh

This way we abstract users on installing rust and more tools that probably the might not use.

Describe Preferred Solution

Taking a look into Scarb CI and create a similar one in order to provided this functionality as well as the installation script. This will then generate a release which will contain the binaries so its public (GitHub artifact) and easily to download

Describe Alternatives

Maybe do it by hand for as a first step

Additional Context

If the feature request is approved, would you be willing to submit a PR? (Help can be provided if you need assistance submitting a PR)

cc: @raphaelDkhn @EduPonz

raphaelDkhn commented 2 months ago

LGTM!

EduPonz commented 2 months ago

This would be fantastic indeed! Once we have the installation script, we could upload it to the releases as an asset so users can curl/wget from the release directly; this is for instance how CMake does it. It seems automating release creation and uploading assets to them is rather straight forward:

I'd probably add the bootstrap script to the repo itself to get related things together.

raphaelDkhn commented 2 months ago

Sounds good!

I also like asdf, used by Scarb: https://docs.swmansion.com/scarb/download.html#install-via-asdf

So we can easily manage different versions by adding to .tool-versions file:

scarb-agent 0.1.1