-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
x/tools/gopls: clarify supported operating systems #59981
Comments
Skip due to golang/go#58748. We do not have resources to investigate this failure. Updates golang/go#59981 Fixes golang/go#58748 Change-Id: I5d695fbeab0b29cedf481ca6b2311bd8c399c4a5 Reviewed-on: https://go-review.googlesource.com/c/tools/+/492495 Reviewed-by: Alan Donovan <adonovan@google.com> Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Change https://go.dev/cl/492495 mentions this issue: |
I agree that we do not need to explicitly support (The only other recent changes that have been needed for Android are also needed to support |
The problems on Beyond the builder-specific issues, most of the API workarounds needed for |
As for Plan 9, well, I'm not sure. 😅 The We occasionally need to add test skips for lack of symlink support, but in theory we also need those for certain versions and/or configurations of Windows, and those skip checks can call general Beyond that we have only two plan9-specific workarounds in place:
To be honest, though, I'm not entirely sure why we don't need an analogous retry loop on Windows. 😅 |
That may be tricky. Do we currently have a mechanism to skip only a specific submodule within a repo? |
@bcmills I think there's a trap in thinking "well, things seem to be working OK now, so why turn them off". Considerable resources (including a lot of your time specifically!) has been spent tracking down these flakes and reporting bugs upstream. While it is greatly appreciated, we have limited resources and the assertion of this issue is that we would be better off focusing those resources on higher priority environments.
I would definitely not turn off all of x/tools. I think we could probably make a coordinator change to skip just x/tools/gopls. |
Some clarification after re-reading: I don't think that's what you're saying, but we've made this mistake in the past. Also: your efforts thus far have been in service of the important goal of test hygiene and engineering standards. This issue is about committing to that same goal. |
I think mostly what I'm saying is: given that we probably do want to keep testing the rest of But I agree that we should be mindful of the costs in both directions. |
Please don't drop support for the BSDs (FreeBSD, NetBSD, OpenBSD). |
@bsiegert we can do that, but can you explain a bit more? e.g. do you think this affects a large number of users? Is it strategically important to support these GOOS? |
I don't use a BSD, but I know that these are platforms commonly used as everyday desktops besides just servers. While I do not expect someone to sit down and write software on Android, and I have never met someone with a need for Solaris, plan9, etc, I would expect that a lot of BSD users are writing software while sitting at a BSD desktop. |
@PaluMacil thanks. Yes, I think there are probably some users on BSD, whereas I expect ~zero users on Android or Plan9. Also, generally speaking, BSDs have been less of a problem for us than others. |
We have experienced a fair amount of friction with gopls tests on e.g. plan9, android, illumos, and solaris. While test failures on these operating systems occasionally turn up real gopls bugs, in my experience failures are more often due to builder problems, resource constraints, and/or bugs in the toolchain. Given that (I assume) few if any of our users are on some of these operating systems, it is almost certain that our resources devoted to these builders results in a net loss for our users.
Unlike other projects on the Go team, gopls is designed for a relatively narrow use-case: development environments. We should not expend resources on ports that are unlikely to serve this use-case for a large number of users. However, we do not specify supported operating systems in our README.
We should specify precisely which operating systems we aim to support, and disable builders for others. At the very least, we will support linux, windows, darwin, and other BSD-like operating systems. I am open to others, but do not want to commit to support if there is no demand.
CC @bcmills @adonovan
The text was updated successfully, but these errors were encountered: