Skip to content
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

Rework the component selection such that we can select versions for individual versions for sway repo as well #606

Open
kayagokalp opened this issue May 6, 2024 · 3 comments
Assignees
Labels
enhancement enhancement to a current feature

Comments

@kayagokalp
Copy link
Member

We can select arbitrary versions at repo level, we can pin fuel-core to x.y.z and sway repo to x.y.z at a specific toolchain. But we cannot change versions of forc-deploy, forc-lsp indiuvally as they are packed in sway repo.

We need this because we from some time to time, require to patch only a single component.

@kayagokalp kayagokalp added the enhancement enhancement to a current feature label May 6, 2024
@JoshuaBatty JoshuaBatty self-assigned this Jun 24, 2024
@JoshuaBatty
Copy link
Member

See here for more info on how we have done this manually in the past

@JoshuaBatty
Copy link
Member

We could look at adopting how tracing approaches releases within their mono repo. Instead of releasing everything at once, they are able to release individual components. Would be worth looking closer into. https://github.com/tokio-rs/tracing/releases

@kayagokalp
Copy link
Member Author

kayagokalp commented Jun 26, 2024

That would be great not just for fuelup but for also being able to version library crates separately from binary ones in sway repo. This would enable us to actually adhere to semver for all of our crates. For an intermediate solution or a first step that does not change the release process, we can upload each artifact separately to sway repo artifacts for each release. Currently they are packed, what fuelup does is that for each forc* component it unpacks & find it from the file downloaded from that link. If we upload them seperatly then we can indivually link them in the component.toml file.

date = "2024-04-04"

[pkg.forc]
version = "0.49.3"

[pkg.forc.target.linux_amd64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.49.3-patch.1/forc-binaries-linux_amd64.tar.gz"
hash = "..."

[pkg.forc.target.linux_arm64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.49.3-patch.1/forc-binaries-linux_arm64.tar.gz"
hash = "..."

[pkg.forc.target.darwin_amd64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.49.3-patch.1/forc-binaries-darwin_amd64.tar.gz"
hash = "..."

[pkg.forc.target.darwin_arm64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.49.3-patch.1/forc-binaries-darwin_arm64.tar.gz"
hash = "..."

[pkg.forc-deploy]
version = "0.50.0"

[pkg.forc.target.linux_amd64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.50/forc-binaries-linux_amd64.tar.gz"
hash = "...."

[pkg.forc.target.linux_arm64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.50/forc-binaries-linux_amd64.tar.gz"
hash = "...."

[pkg.forc.target.darwin_amd64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.50/forc-binaries-linux_amd64.tar.gz"
hash = "...."

[pkg.forc.target.darwin_arm64]
url = "https://github.com/FuelLabs/sway/releases/download/v0.50/forc-binaries-linux_amd64.tar.gz"
hash = "...."

Uploading them individually would enable us to mix & match different versions. On top of this, if we add the ability to release individual members of the workspace from sway repo, we can do any arbitrary release without interfering it manually.

@JoshuaBatty JoshuaBatty assigned sdankel and unassigned JoshuaBatty Jul 2, 2024
@JoshuaBatty JoshuaBatty assigned alfiedotwtf and unassigned sdankel Aug 19, 2024
@alfiedotwtf alfiedotwtf changed the title Rework the component selection such that we can select versions for indiviual versions for sway repo as well Rework the component selection such that we can select versions for individual versions for sway repo as well Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement enhancement to a current feature
Projects
None yet
Development

No branches or pull requests

4 participants