-
Notifications
You must be signed in to change notification settings - Fork 132
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
Install specific versions and specific components #46
Comments
How should we go about storing the different versions of
If the rustup model of distribution is the endgame here as shown above, then I suggest adding an additional toolchain called This would be a decent workaround the problem of not having version sets, as well as the fact that we iterate quickly enough to be able to work from the latest updates atm. |
Seems reasonable! |
After a discussion with @mitchmindtree, it seems to make sense to de-prioritise this issue for now and instead focus on providing When we at least stabilise the standard toolchains ( Marking this as low priority and unassigning myself for now. |
Hmmm. So one issue with not supporting this is that it's often the case currently that the Sway repo, SDK repo, and applications repo need to bump their version of For example, the Sway repo doesn't have |
So the main application of allowing installations of specific components @ specific versions would mainly be for internal use? I think both @mitchmindtree and I were mostly worried about the external app developers - it might be confusing for them to be able to arbitrarily downgrade/upgrade versions of I was also working under the assumption that we would always want a full toolchain of If our use case is different then we might have to consider deviating from Maybe we need something like: fuelup toolchain new my_toolchain # new command to create a new toolchain
fuelup default my_toolchain # new command to switch default toolchain
fuelup component add fuel-core@0.8.0 # install fuel-core v0.8.0 to my_toolchain
# continue with whatever |
Hmmm. It wouldn't necessarily only be for internal development. End-users than only run nodes could get them from |
Before going ahead with individual components and custom versions, I think we should clarify some of the semantics:
@bingcicle I think your custom toolchains suggestion would partially solve these questions, though it is quite a bit of manual tweaking and raises other questions:
If a user really only wants Perhaps a more motivating example would be an end-user only needing |
I think the api I described basically means we support custom toolchains, so I will answer this in relation to what is defined as a custom toolchain:
Yes only for custom toolchains. We should probably reserve keywords for our officially distributed toolchains so that you can't have a conflicting name for a toolchain (
In the same way since we have reserved keywords,
Seems like I can imagine here we might be able to have an extension by implementing some sort of way to lock a custom toolchain. If we want granular control over each component in a toolchain, perhaps we want a new config file within the toolchain's dir (
Yep! Agreed. Specifying versions eg. Overall it seems like granularity should only be a feature of custom toolchains. For official distributions, we can follow in
I think there's value in being able to use I think the custom toolchain api I suggested is basically the same as |
This has all been addressed as of #123 |
Both as a general feature and as a workaround for #45, allow users to install specific versions of specific components of the Fuel toolchain.
The text was updated successfully, but these errors were encountered: