Revising Unit's supported platforms #1332
Replies: 4 comments 6 replies
-
Unit is actively packaged for Alpine Linux. Sergey Osokin maintains the FreeBSD port. I'd expect the tier two targets to continue working just as well as tier one.
We support both GCC and Clang, this is good, they both find different issues. I don't think we need to say much other than any version of GCC/Clang within the last decade or so can build Unit. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Given that apple continues to push their own custom ARM silicon I dont think that would be wise. ARM macbooks will be standard issue to many application developers at many large companies for the foreseeable future. |
Beta Was this translation helpful? Give feedback.
-
I'm generally of the idea that good enough is good enough. Let's target the important systems and the popular systems, and let's not spend time and effort on niche systems and hand that off to the community. My thinking here is that we're few, we need to do a few things well, and we can't do that if we're stretched too thin trying to support platforms that only a few people / companies use. Once Unit is big enough and we have more support from corporate and we can increase the team, and we have a good flow of communication between us and the users and we know what they want, then we'll be in a better position to make data based calls on what to support and what not to prioritize. I agree with @avahahn on keeping With regards of my expectations of tier 1 v tier 2: Tier 1 should be fully supported on the target system, which means on a completely new and empty system, with nothing installed, users should be able to install unit using one command, and have it work correctly without any additonal input needed from the user. This ideally means the system doesn't need additional packages installed alongside unit itself, or if it does, it can take care of it in userspace without needing sudo or equivalent. Tier 2 should be supported, but some manual tinkering and making sure required packages are installed are okay, but once those are done, unit should work mostly the same barring a few edge cases. In both cases the minimum is that CI tests should pass without fail and builds should succeed, I think this should be the bare minimum. |
Beta Was this translation helpful? Give feedback.
-
Today, Unit advertises support for a myriad of operating systems and CPU architectures, many outdated or obscure (Solaris! Itanium!)
I'd like us to revise that set to focus on more prevalent platforms.
We don't need to be as rigorous as Rust's Target Tier Policy, but it's good inspiration.
Proposal
Tier 1
Guaranteed to work.
x86_64-linux-gnu
aarch64-linux-gnu
aarch64-apple-darwin
Tier 2
Best effort, not rigorously tested.
x86_64-freebsd
x86_64-linux-musl
aarch64-linux-musl
Explicitly Unsupported
Everything Else
We'll consider patches, but all bets are off.
Questions
aarch64-apple-darwin
be Tier 2 instead of Tier 1?Beta Was this translation helpful? Give feedback.
All reactions