golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
124.07k stars 17.68k forks source link

x/build: add LUCI openbsd-riscv64 builder #64176

Closed mengzhuo closed 3 months ago

mengzhuo commented 1 year ago

Following the instructions at Dashboard builders:

hostname openbsd-riscv64-mengzhuo

CSR is openbsd-riscv64-mengzhuo.csr.txt since Github doesn't seem to allow attaching with the name openbsd-riscv64-mengzhuo.csr origin issue asked for.

Builder info(uname -a): OpenBSD mars-1.lan 7.4 GENERIC.MP#427 riscv64

cc @4a6f656c

gopherbot commented 11 months ago

Change https://go.dev/cl/545536 mentions this issue: main.star: add netbsd-arm, netbsd-arm64, openbsd-riscv64 builders

dmitshur commented 11 months ago

Here's the resulting certificate: openbsd-riscv64-mengzhuo-1701367184.cert.txt.

The builder definitions have been added in CL 545536 so your bot should be able to connect once you follow the rest of the steps on your end.

We have some more work to do to make the dependencies built for the openbsd/riscv64 port and available in CIPD, which will be needed for the builds to complete successfully. We'll update this issue once that's done.

Edit: Note that because the openbsd/riscv64 port is a new port in the process of being added (#55999), rather than a port that exists in a released version of Go, we have to do additional work to be able to build its dependencies, so it will take longer.

mengzhuo commented 11 months ago

Updates: openbsd-riscv64-mengzhuo is up and running. https://chromium-swarm.appspot.com/bot?id=openbsd-riscv64-mengzhuo&s=true

dmitshur commented 11 months ago

Thanks. From the 5 builds it started during the time it ran, it's possible to see it connected and identified its cipd_platform dimension correctly as openbsd-riscv64, and as my comment above suggested, its CIPD dependencies are not yet in place. So resolving that is the next step here.

mengzhuo commented 9 months ago

@dmitshur OpenBSD has completed port, but LUCI builder failed to start, do I need to update something?

19057 2024-01-25 09:26:17.097 E: Request to https://chromiumswarm.appspot.com/swarming/api/v1/bot/handshake failed with
HTTP status code 403: 
403 Client Error: Forbidden for url: https://chromium-swarm.appspot.com/swarming/api/v1/bot/handshake
dmitshur commented 9 months ago

I'm not sure why you'd be getting that error now and not before. But last time the builder connected, the error we needed to resolve was:

E: internal failure: Could not resolve version infra/tools/cipd/openbsd-riscv64:git_revision:ec494f363fdfd8cdd5926baad4508d562b7353d4: no such package: infra/tools/cipd/openbsd-riscv64

(Also see the last 2 paragraphs of https://github.com/golang/go/issues/64176#issuecomment-1834401616.)

The next step for that is to get the CIPD dependencies built for GOOS=openbsd GOARCH=riscv64. Right now the LUCI infrastructure is building those dependencies using Go 1.21, which doesn't support openbsd/riscv64 and so it can't work. We either need to wait for it to start using Go 1.23 where that port is added, or create a way for it to use a development version of Go 1.23 sooner, or find some other way without those dependencies being available in CIPD.

4a6f656c commented 8 months ago

@mengzhuo @dmitshur What is the exact plan here? Is there a reason why we're bringing a new builder online, rather than continuing to use the openbsd-riscv64 builder that I already run?

4a6f656c commented 8 months ago

I'm not sure why you'd be getting that error now and not before. But last time the builder connected, the error we needed to resolve was:

E: internal failure: Could not resolve version infra/tools/cipd/openbsd-riscv64:git_revision:ec494f363fdfd8cdd5926baad4508d562b7353d4: no such package: infra/tools/cipd/openbsd-riscv64

(Also see the last 2 paragraphs of #64176 (comment).)

The next step for that is to get the CIPD dependencies built for GOOS=openbsd GOARCH=riscv64. Right now the LUCI infrastructure is building those dependencies using Go 1.21, which doesn't support openbsd/riscv64 and so it can't work. We either need to wait for it to start using Go 1.23 where that port is added, or create a way for it to use a development version of Go 1.23 sooner, or find some other way without those dependencies being available in CIPD.

Unless I'm missing something, this seems like a pretty big hurdle for bringing builders/trybots online for new ports... how does one bring a builder up in order to have it running before merging a port?

mengzhuo commented 8 months ago

@mengzhuo @dmitshur What is the exact plan here? Is there a reason why we're bringing a new builder online, rather than continuing to use the openbsd-riscv64 builder that I already run?

These is an issue (#63471) that requires all builders that should migrate from "go farm" to "LUCI". (https://go.dev/wiki/DashboardBuilders#luci-builders)

I can drop/transfer keys of openbsd-riscv64 LUCI builders if you want maintain it.

cagedmantis commented 6 months ago

@mengzhuo Can you confirm that builds are processed properly if the builder is up?

dmitshur commented 3 months ago

@mengzhuo Friendly ping on this. Are you planning to continue to work on this builder, or should this be closed in favor of issue #67105?

By now the CIPD dependencies and a Go bootstrap are available for the openbsd/riscv64 port, so it should work if it's brought online again.

mengzhuo commented 3 months ago

@dmitshur sorry for this long halt, I think I can't get enough visionfive2 to run openbsd-riscv64 builder now :(

Let's close it.

dmitshur commented 3 months ago

No problem, thanks for the update and for working on this. If the situation changes in the future, please feel free to file another new-builder issue. The openbsd-riscv64-mengzhuo-1701367184 certificate is revoked since it's not actively needed now.