-
Notifications
You must be signed in to change notification settings - Fork 10
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
Remove pre-requesites installation #101
Comments
Hey @mario4tier , As I mentioned during our chat discussion, some of my users (kkomelin/sui-dapp-starter) complained about the complexity of the Sui prerequisites installation. My suggestion was to develop OS-specific shell scripts to install everything in one line like so: # Windows
iwr https://get.pnpm.io/install.ps1 -useb | iex
# Linux
wget -qO- https://get.pnpm.io/install.sh | sh - ref https://pnpm.io/installation And I thought about suggesting adding them to the main Sui docs/repo because I think it's a higher level problem. I like the checks which Suibase has. It may be enough. What is the best place to add the scrips from your point of view? |
Currently Sui docs offer one-liners already:
But I don't know a person who would have |
I see. Keep in mind that brew/choco install only the binaries, not the dependencies. Seems their latest doc favor binaries installations, therefore eliminating the need for pre-requesites for most users (>99% ?). IMHO, it is now more urgent to also eliminate Suibase dependency on these Sui pre-requesites (currently always needed for building the Rust suibase-daemon). === For suibase, the binary installation should remain to be done with downloading "assets". Not brew/choco etc... the reasons are:
SummaryI agree that brew/choco etc... are out-of-scope for Suibase and are better to be discuss with Mysten Labs directly. |
Thank you @mario4tier , Agree, let's leave streamlining Sui cli prerequisites installation to the Sui guys. Can suggest this improvement to them later with lower priority. As for Suibase, it looks like if we could implement building |
Yes. I fully agree. I will try to complete this by end of August (will be done with github actions, which already build the suibase-daemon for automated tests). The Suibase assets will match the way Mysten Labs release their assets, that way we can re-use most of the already done bash script. |
@mario4tier That's a good plan! Good luck with that! I have Lunux/Ubuntu if you need some alfa/beta testers. Can also setup Windows through VirtualBox. |
Done. Suibase does not require Sui prerequisites anymore (notably, rust installation is not needed). See https://suibase.io/how-to/install.html Current user will also get this feature with a === Advanced users can still force compilation with |
@mario4tier Man, it's insane! Thank you! It's a great UX improment. How did you achieve that? |
At high level, Suibase identify the user platform/arch and download the assets from github (when an higher version is detected on, say, "testnet update"). For sui (and walrus in the future), it downloads directly from Mysten Labs. In the case of suibase-daemon (or any other open-source Rust tool that we choose to integrate later), a Cargo.toml version change in the Suibase repos trig an action (with an automated push) in another sui-binaries repos After the builds, a last github job verify the assets are valid for all platform/arch before tagging it "released". |
The next step in better UX is that suibase-daemon will periodically check for updates and have some kind of "Release X available" displayed when doing, say, "testnet status". |
Thanks for explaining @mario4tier ! That's a solid piece of work. Great |
Update 6/20/24: Goal changed to eliminate the Sui pre-requesites.
Goals
(1)
Should detect the Sui prerequesites missing and automatically (or offer) to the user to install them.Suibase CLI should automatically download, install and upgrade suibase-daemon binaries without user intervention.(2) The installation of the VSCode extension should have the consequence of installing Suibase CLI
and the Sui pre-requesites automatically. Ideally, that means to be fully up and running only by installing the extension!Related code
VSCode extension for now just do diagnostic... not automated installation:
Excerpt from https://github.com/ChainMovers/suibase/blob/main/typescript/vscode-extension/src/BackendSync.ts
The CLI look for pre-requesites when attempting to build something:
Excerpt from https://github.com/ChainMovers/suibase/blob/main/scripts/common/__globals.sh
The text was updated successfully, but these errors were encountered: