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

x/build: add LUCI netbsd-arm64 builder #63614

Closed
bsiegert opened this issue Oct 18, 2023 · 11 comments
Closed

x/build: add LUCI netbsd-arm64 builder #63614

bsiegert opened this issue Oct 18, 2023 · 11 comments
Assignees
Labels
arch-arm64 Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done. new-builder OS-NetBSD
Milestone

Comments

@bsiegert
Copy link
Contributor

Hostname: rpi4.bentsukun.ch
rpi4.bentsukun.ch.csr.txt

There are two machines in this builder. Should I add a second CSR for the other one, or should they share a hostname and CSR?

@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Oct 18, 2023
@gopherbot gopherbot added this to the Unreleased milestone Oct 18, 2023
@bsiegert
Copy link
Contributor Author

I assume netbsd-arm64-bsiegert (matching the previous builder name) would be a better hostname for the CSR?

@cagedmantis cagedmantis added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Oct 19, 2023
@cagedmantis
Copy link
Contributor

cc @golang/release

@cagedmantis
Copy link
Contributor

@bsiegert Yes, netbsd-arm64-bsiegert would be a better hostname for the CSR.

@bsiegert
Copy link
Contributor Author

Sorry for the misunderstanding then. New CSR: netbsd-arm64-bsiegert.csr.txt

@dr2chase
Copy link
Contributor

Here is the certificate.
netbsd-arm64-bsiegert-1698683802.cert.txt

@bsiegert
Copy link
Contributor Author

bsiegert commented Nov 2, 2023

The swarming bot is now running on one machine. Are you able to see it?

Edit: https://chromium-swarm.appspot.com/bot?id=netbsd-arm64-bsiegert

@heschi
Copy link
Contributor

heschi commented Nov 7, 2023

Yep!

Unfortunately it seems to believe that its CPU architecture is evbarm, which is an exciting new way to spell arm64. Is there some Python 3 API we could call that would return arm64? Or do we need to map it ourselves?

@bsiegert
Copy link
Contributor Author

Haha! In NetBSD terminology, the port is called evbarm-aarch64. evbarm is "ARM evaluation board".

In Python, you can get these names as follows:

>>> platform.processor()
'aarch64'
>>> platform.machine()
'evbarm'

On the 32-bit ARM builder, you instead get:

>>> platform.processor()
'earmv7hf'
>>> platform.machine()
'evbarm'

From http://wiki.netbsd.org/ports/evbarm/:

Various CPU variants are supported, e.g:

  • earmv6hf - ARMv6-A with EABI and hardware floating point, e.g. the original Raspberry Pi.
    earmv7hf - ARMv7-A with EABI and hardware floating point, e.g. most recent and common 32-bit ARM boards. Supports up to 8 CPUs.
  • earmv7hfeb - Same as the above, but with the CPU running in big endian mode.
  • aarch64 - 64-bit ARMv8-A boards, e.g. all 64-bit hardware. Fully 64-bit kernel and userland. Running 32-bit binaries is supported with compat32.
  • aarch64eb - Same as the above, but with the CPU running in big endian mode.

@bsiegert
Copy link
Contributor Author

So for the ones Go cares about:

  • platform.processor() = earmv7hf: arm
  • platform.processor() = aarch64: arm64

@dmitshur dmitshur added NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Nov 27, 2023
@dmitshur dmitshur assigned dmitshur and unassigned dr2chase Nov 27, 2023
@gopherbot
Copy link

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

gopherbot pushed a commit to golang/build that referenced this issue Nov 28, 2023
For golang/go#63698.
For golang/go#63614.
For golang/go#64176.

Change-Id: I2a203cd2a1e2e80ee44cfd5ce11c1ce5bbd60002
Reviewed-on: https://go-review.googlesource.com/c/build/+/545536
Reviewed-by: Heschi Kreinick <heschi@google.com>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
@dmitshur
Copy link
Contributor

dmitshur commented Dec 7, 2023

Now that the swarming bot is correctly reporting cipd_platform = netbsd-arm64 (crrev.com/c/5013353, thanks @heschi) and the builder definitions are added (go.dev/cl/545536), it's up and running!

https://ci.chromium.org/ui/p/golang/g/z-port-netbsd-arm64/builders
https://chromium-swarm.appspot.com/bot?id=netbsd-arm64-bsiegert

It's passing on release-branch.go1.20 and many golang.org/x repos, and reporting failing tests at tip.

I think we can close this tracking issue since the builder is up and use new issues for everything else. Thanks very much @bsiegert!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-arm64 Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done. new-builder OS-NetBSD
Projects
Archived in project
Development

No branches or pull requests

6 participants