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 openbsd-arm builder #67103

Open
4a6f656c opened this issue Apr 29, 2024 · 6 comments
Open

x/build: add LUCI openbsd-arm builder #67103

4a6f656c opened this issue Apr 29, 2024 · 6 comments
Labels
arch-arm Issues solely affecting the 32-bit arm architecture. Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done. new-builder OS-OpenBSD
Milestone

Comments

@4a6f656c
Copy link
Contributor

4a6f656c commented Apr 29, 2024

Please add a LUCI builder for openbsd/arm with hostname openbsd-arm-jsing - note that this will be running on the same hardware as the current host-openbsd-arm-joelsing builder. This machine is not capable of running both forms and will need to be hard migrated at some point in time. CSR for this builder is attached.

openbsd-arm-jsing.csr.txt

@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Apr 29, 2024
@gopherbot gopherbot added this to the Unreleased milestone Apr 29, 2024
@dmitshur dmitshur moved this to In Progress in Go Release May 10, 2024
@dmitshur dmitshur added OS-OpenBSD arch-arm Issues solely affecting the 32-bit arm architecture. labels May 10, 2024
@cherrymui cherrymui added the NeedsFix The path to resolution is known, but the work has not been done. label May 10, 2024
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/584777 mentions this issue: main.star: update openbsd-{arm,arm64,riscv64} builder configurations

gopherbot pushed a commit to golang/build that referenced this issue May 10, 2024
The BUILDER_TYPE for these os-arch combinations already exists.
I guess I don't need to add anything?

Update the configurations to include them in low capacity builders
list and copies the timeout scale from the old (non-LUCI) builder
settings.

For golang/go#67103, golang/go#67104, golang/go#67105.

Change-Id: I971be047630edaf9db04346ea2087b663fef2847
Reviewed-on: https://go-review.googlesource.com/c/build/+/584777
LUCI-TryBot-Result: Go LUCI <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
@dmitshur
Copy link
Contributor

dmitshur commented May 13, 2024

Here's the certificate: openbsd-arm-jsing-1715617750.cert.txt.

Note that this may run into the same issue as in #63698 (comment).

@4a6f656c
Copy link
Contributor Author

4a6f656c commented Jul 8, 2024

@dmitshur we don't seem to be getting far with this one - run_isolated.log stops at:

85352 2024-07-08 13:23:56.713 I: free space after cleanup: 9224697856

And there does not appear to be anything for openbsd-arm (or possibly openbsd-armv7) here:

https://chrome-infra-packages.appspot.com/p/infra/tools/cipd

@4a6f656c
Copy link
Contributor Author

4a6f656c commented Jul 8, 2024

We also likely need GOGC=20 due to the resource constraints of this machine - I used to be able to control this locally, however it will now presumably need to be done from the other end.

@dmitshur
Copy link
Contributor

dmitshur commented Jul 12, 2024

And there does not appear to be anything for openbsd-arm (or possibly openbsd-armv7) here:

Yeah, the *bsd-armv7l CIPD binaries haven't been added yet. @bsiegert Do you have plans to work on that? If you @4a6f656c are interested in giving it a shot, that would be appreciated and help us move this forward. In our earlier discussion there was agreement on the implementation plan details, specifically:

  • Start building CIPD dependencies for "{open,net,free}bsd-armv7l" cipd_platform with GOARCH=arm GOARM=7 explicitly set. (A somewhat similar past CL is crrev.com/c/5086069.) Can also stop building for netbsd-armv6l since it'll be unused.
  • Make swarming bot capable of reporting its cipd_platform dimension with the armv7l suffix when hardware reports being capable of running GOARM=7 binaries. (Similar past CL are crrev.com/c/5178250 and crrev.com/c/5189742.)
  • Update Go config to define "gotip-{open,net,free}bsd-arm" etc. with the new CIPD dimension so the updated bot at https://chromium-swarm.appspot.com/botlist?f=cipd_platform%3Aopenbsd-armv7l&f=pool%3Aluci.golang.shared-workers will be used. Notably, for openbsd/arm this seems to be nearly done, but there's a discrepancy with the suffix being v7 vs v7l. (It's unfortunate to have even more special cases, but if it's much easier perhaps we should consider sticking with "v7" (without "l") for the openbsd/arm port only...)

We also likely need GOGC=20 due to the resource constraints of this machine - I used to be able to control this locally, however it will now presumably need to be done from the other end.

I'd expect setting a Go environment variable when running the swarming bot would cause it to propagate, is that not the case? Do we explicitly reset them?

In any case, it may still be better to do it in the x/build luci-config branch (e.g., somewhere here to start) so that it has more visibility and that we can adjust it if really needed. This is also the only way to make it vary based on repo or so.

@bsiegert
Copy link
Contributor

I will work on OpenBSD/armv7 support in the CIPD binaries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-arm Issues solely affecting the 32-bit arm architecture. Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done. new-builder OS-OpenBSD
Projects
Status: In Progress
Development

No branches or pull requests

5 participants