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 windows-arm64 builder #64587

Closed
thanm opened this issue Dec 6, 2023 · 11 comments
Closed

x/build: add LUCI windows-arm64 builder #64587

thanm opened this issue Dec 6, 2023 · 11 comments
Assignees
Labels
Builders x/build issues (builders, bots, dashboards) new-builder
Milestone

Comments

@thanm
Copy link
Contributor

thanm commented Dec 6, 2023

Tracking issue for adding new windows-arm64 LUCI builders. Proposed hostname is

windows-arm64-azure

with the individual builders suffixed with --00, --01 and so on.

CSR is attached.

windows-arm64-azure.csr.txt

@thanm thanm added this to the Backlog milestone Dec 6, 2023
@thanm thanm self-assigned this Dec 6, 2023
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Dec 6, 2023
@gopherbot
Copy link

Change https://go.dev/cl/547937 mentions this issue: main.star: add windows-arm64 builders

gopherbot pushed a commit to golang/build that referenced this issue Dec 7, 2023
For golang/go#64587.

Change-Id: Ic71ff512f2f099017991fd856d7b2fa5aefea5f0
Reviewed-on: https://go-review.googlesource.com/c/build/+/547937
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Than McIntosh <thanm@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Commit-Queue: Than McIntosh <thanm@google.com>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
@thanm
Copy link
Contributor Author

thanm commented Dec 7, 2023

Here is the certificate:
windows-arm64-azure-1701977344.cert.txt

@thanm
Copy link
Contributor Author

thanm commented Dec 12, 2023

OK, due to mistakes on my part, I am going to redo the key generation. Here is a new csr:

windows-arm64-azure.csr.txt

@thanm
Copy link
Contributor Author

thanm commented Dec 12, 2023

Here is the certificate (round 2):

windows-arm64-azure-1702406379-cert.txt

@thanm
Copy link
Contributor Author

thanm commented Dec 13, 2023

I have added a new CIPD package containing C/C++ compilers for windows-arm64, for use with LUCI:

$ cat cipd.yaml
package: golang/third_party/llvm-mingw-msvcrt/windows-arm64
description: windows-arm64 LLVM-based C/C++ compiler
root: checkout
data:
 - dir: .
$ cipd create -pkg-def=cipd.yaml -tag version:22020323
[P2864632 14:22:11.686 builder.go:141 I] About to zip 4229 files with compression level 5
[P2864632 14:22:11.686 builder.go:155 I] Zipping files: 4229 files left
[P2864632 14:22:12.687 builder.go:155 I] Zipping files: 3684 files left
[P2864632 14:22:13.688 builder.go:155 I] Zipping files: 2851 files left
[P2864632 14:22:15.506 builder.go:155 I] Zipping files: 2604 files left
[P2864632 14:22:16.524 builder.go:155 I] Zipping files: 2595 files left
[P2864632 14:22:17.525 builder.go:155 I] Zipping files: 1906 files left
[P2864632 14:22:18.525 builder.go:155 I] Zipping files: 1158 files left
[P2864632 14:22:19.525 builder.go:155 I] Zipping files: 531 files left
[P2864632 14:22:20.526 builder.go:155 I] Zipping files: 15 files left
Instance: golang/third_party/llvm-mingw-msvcrt/windows-arm64:qns0hQVslwiii8CR-KCXnKmCnVUofE3cRgwfdwFWpVUC
 • Instance golang/third_party/llvm-mingw-msvcrt/windows-arm64:qns0hQVslwiii8CR…
 • Tag "version:22020323" was attached
$

Compilers were drawn from the existing bundle at https://storage.googleapis.com/go-builder-data/llvm-mingw-20220323-ucrt-aarch64.tar.gz.

@thanm
Copy link
Contributor Author

thanm commented Dec 14, 2023

Update: sent these CLs as part of the work on this issue (forgot to tags the CLs, so mentioning here):

CL 549118: env/windows-arm64: add helper program for file writing
CL 548476 env/windows-arm64/azure: convert VM bringup script for LUCI use
CL 549715 env/windows-arm64/azure: fix buglet in VM setup script

I have one more fix in the works after that related to scheduled tasks.

gopherbot pushed a commit to golang/build that referenced this issue Dec 14, 2023
This patch revises the recipe for creating a scheduled task (via
powershell commands) to run the LUCI token generator. Turns out that
the default for scheduled tasks is to only run them when their
specified user is logged in, meaning that the recipe as written was
incorrect. The fix is to use the 'New-ScheduledTaskPrincipal' cmdlet
to boost the priority of the task and run it as a service account /
system user.

Updates golang/go#64587.

Change-Id: I281d8c5c11b0b41478524dfd456f4b1179c4d840
Reviewed-on: https://go-review.googlesource.com/c/build/+/549755
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
@gopherbot
Copy link

Change https://go.dev/cl/549755 mentions this issue: env/windows-arm64/azure: fix problems with token generation setup

@gopherbot
Copy link

Change https://go.dev/cl/551675 mentions this issue: env/windows-arm64/azure: add hostname setup to VM bringup process

gopherbot pushed a commit to golang/build that referenced this issue Dec 21, 2023
Update the instructions for VM bringup to ensure that each VM has a
unique numeric suffix, which is required by LUCI (e.g.
"windows-arm64-azure--01" as opposed to just "windows-arm64-azure").

Updates golang/go#64587.

Change-Id: I458d8e05dc55a22374c6c85fb8920ec9cb55c854
Reviewed-on: https://go-review.googlesource.com/c/build/+/551675
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link

Change https://go.dev/cl/553675 mentions this issue: env/windows-arm64/azure: additional LUCI tweaks to VM setup

gopherbot pushed a commit to golang/build that referenced this issue Jan 3, 2024
This patch has a couple of additional VM configuration changes
designed to help Azure windows-arm64 VMs play a bit more nicely
with LUCI.

First, be sure to disable the windows file indexing service,
which for some reason soaks up a huge amount of CPU when LUCI
is active on a swarming bot run.

Second, set SWARMING_NEVER_REBOOT for these VMs; in cases where
windows is being sluggish, LUCI seems to be a bit trigger happy
in terms of warning to restart bots, which also doesn't work
well with these VMs.

Set the SWARMING_NEVER_REBOOT environment variable to tell the
swarming bot to avoid rebooting VMs.

Updates golang/go#64587.

Change-Id: I286f6662af304ed88a03793913dc627599cdce33
Reviewed-on: https://go-review.googlesource.com/c/build/+/553675
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Than McIntosh <thanm@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
@dmitshur dmitshur modified the milestones: Backlog, Unreleased Feb 27, 2024
@dmitshur
Copy link
Contributor

@thanm Are there specific tasks left to do here, or is it a good time to mark this as resolved? Thanks.

@thanm
Copy link
Contributor Author

thanm commented Feb 28, 2024

Nothing specific left to do as far as I know. Closing out, thanks.

@thanm thanm closed this as completed Feb 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builders x/build issues (builders, bots, dashboards) new-builder
Projects
Status: Done
Development

No branches or pull requests

3 participants