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

[turborepo] Semantic versioning not being honored by removal of supported platforms #2616

Closed
darkbasic opened this issue Nov 7, 2022 · 2 comments
Labels
kind: bug Something isn't working

Comments

@darkbasic
Copy link

What version of Turborepo are you using?

1.5.x

What package manager are you using / does the bug impact?

Yarn v2/v3 (node_modules linker only)

What operating system are you using?

Linux

Describe the Bug

Turbo 1.4.x used to support both linux-arm (Raspberry Pi) and linux-ppc64le (the only fully open source modern workstation available).
1.5.x broke semantic versioning by dropping these supported platforms.
This caused major breakage because we were unaware of the change and zwave-js is currently evaluating to migrate away from turbo because of the lack of support for these platforms.

See also:
#1891 (comment)
zwave-js/node-zwave-js#5164

Expected Behavior

Not breaking semantic versioning. Supporting currently used platforms.

To Reproduce

Try any of the unsupported platforms.

Reproduction Repo

No response

@darkbasic darkbasic added the kind: bug Something isn't working label Nov 7, 2022
@mehulkar mehulkar added area: turborepo needs: team input Filter for core team meetings labels Nov 8, 2022
@nathanhammond
Copy link
Contributor

Heya @darkbasic! I understand that we've messed up your workflow and for that I'm sorry. However, we don't have any plans for reverting the change as this is an important step for us getting to a Rust-only world. Once we get there we'll investigate a WASM-based distribution that will enable support for any platform.

In the interim we will happily accept pull requests which adjust our CI test and release story, with the same offer of support we've given to those using Nix, FreeBSD and others. We'll also happily land pull requests that enable building your own versions on platforms we don't provide builds for—no matter how exotic—such as these PRs for FreeBSD: #2367, #2408.

If you're willing to compile your own version for your platforms we have no reason to believe that it won't compile—especially given the recent shift.

So, paths forward:

  • We'll accept PRs to add your needed platforms into our supported list.
  • We'll accept PRs or even issues to make changes to the codebase to enable compiling on any platform, even if we don't provide an official build.
  • There's a future world where we will offer a universal build.

Worth noting that our decisions here will not be guided by strict adherence to SemVer as it's not worth rules-lawyering what does and does not count. (Does "not providing official builds" actually break SemVer when it's OSS and you can compile it yourself?) Given that I'm closing this issue as it will not influence the approach we take.

@darkbasic
Copy link
Author

Does "not providing official builds" actually break SemVer when it's OSS and you can compile it yourself?

It does if you previously provided such builds. Also where SemVer really matters in the node.js world is allowing seamlessly version bumping your packages without breaking your workflow. Dropping a supported platform deserves a major version bump in my opinion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants