-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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/build: add LUCI linux-mipsle builder #67304
Comments
We were lately in contact with @FiloSottile and he pointed us to this issue and the risk of the MIPS Go port might get dropped due to missing LUCI builders. Our company heavily relies on the MIPS Go port and we would like to provide the infrastructure for several of such builders. This is the first time we are looking into providing a LUCI builder so I have a couple of questions.
To get a feeling of how our current hardware would perform, is there some documentation what would be run on those runners?
|
Thank you for offering to provide the builders, and apologies for the delay in getting back to these questions.
The ideal hardware for a builder to use is something that most closely resembles the target port being tested, such that it's findings are most likely to be true positives with minimal false negatives. QEMU emulation adds an additional layer of indirection, and may introduce some false positives. But if there isn't too much noise, it's entirely possible that the benefit from the speed up you're able to get that way outweighs the downsides of adding that layer. Ultimately, it's up to the you as the builder owner to decide what builder setup to aim for, based on how well it'll serve and how well you can keep it running. Note that the builder requirements written down at https://go.dev/wiki/DashboardBuilders#builder-requirements list 512 MB as the minimum, so with only 128 or 256 MB of memory, you'd be below the supported range and may run into trouble.
As I answer these questions below, please keep in mind that what I'm describing is the default builder setup for ports that have high performance hardware available. It is possible to reduce the scope of testing for certain ports/builders if there's not sufficient builder resources available, but that reduces coverage of testing. See some related discussion in #67105 (comment). By default, builders build and test the main Go repository and all golang.org/x repositories on the main branch ("master") and all supported release branches (e.g., "release-branch.go1.22" and "release-branch.go1.23"). In the default case, builders testing a given port are responsible both for building and testing. This increases coverage (proof that the target OS/arch can be used to build successfully) and makes it easier to have cgo enabled. In special cases, like the Plan 9 builders that can't run the LUCI swarming client due to absence of the python3 dependency, it's possible to arrange for a Linux host to do the building and perform test execution remotely. See #62025 (comment) for details. For the main Go repository, the builders run the equivalent of I hope that helps. When you're ready to proceed, see step 2 of https://go.dev/wiki/DashboardBuilders#how-to-set-up-a-builder (step 1 is already done; it's this issue). |
There currently isn't a LUCI builder that tests the linux/mipsle port (other than the misc-compile builder, which tests only that the port compiles). This is the tracking issue for it.
The next steps that a builder owner will need to follow to make progress here are documented https://go.dev/wiki/DashboardBuilders#luci-builders.
CC @golang/mips.
The text was updated successfully, but these errors were encountered: