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 linux-arm builder #65241

Open
dmitshur opened this issue Jan 23, 2024 · 13 comments
Open

x/build: add LUCI linux-arm builder #65241

dmitshur opened this issue Jan 23, 2024 · 13 comments
Assignees
Labels
arch-arm Issues solely affecting the 32-bit arm architecture. Builders x/build issues (builders, bots, dashboards) new-builder OS-Linux
Milestone

Comments

@dmitshur
Copy link
Contributor

dmitshur commented Jan 23, 2024

Planned hostname prefix is linux-arm-aws, with the individual builders having a --nn suffix.

Edit: This builder will also serve as a security trybot. A separate set of instances will be used for that, using linux-arm-aws-security as their hostname prefix.

@dmitshur dmitshur added Builders x/build issues (builders, bots, dashboards) new-builder labels Jan 23, 2024
@dmitshur dmitshur added this to the Unreleased milestone Jan 23, 2024
@dmitshur dmitshur self-assigned this Jan 23, 2024
@dmitshur dmitshur moved this to In Progress in Go Release Jan 23, 2024
@bcmills bcmills added OS-Linux arch-arm Issues solely affecting the 32-bit arm architecture. labels Jan 23, 2024
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/558198 mentions this issue: main.star: add linux-arm builder

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/558516 mentions this issue: WIP: env/linux-arm/aws: update to connect to LUCI

gopherbot pushed a commit to golang/build that referenced this issue Jan 25, 2024
For golang/go#65241.

Change-Id: Ife98e6dc68fb64bd781c04614bad68d200308c4a
Reviewed-on: https://go-review.googlesource.com/c/build/+/558198
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/558517 mentions this issue: main.star: fix cipd_platform value for GOHOSTARCH=arm

gopherbot pushed a commit to golang/build that referenced this issue Jan 26, 2024
Handle another way in which cipd_platform is slightly
different from Go's GOHOSTOS and GOHOSTARCH values.

For golang/go#65241.
For golang/go#63698.
For golang/go#63601.

Change-Id: I3caad897b821208939b8b411663ba417c4c21df7
Reviewed-on: https://go-review.googlesource.com/c/build/+/558517
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/559158 mentions this issue: main.star: use linux-arm64 cipd_platform dimension for linux-arm host type

gopherbot pushed a commit to golang/build that referenced this issue Jan 29, 2024
… type

The m6g.xlarge instance types are capable of running both 64- and 32-bit
arm binaries, and Swarming Bot reports the cipd_platform dimension as
'linux-arm64'. So update the LUCI dimensions mapping for the linux-arm
builder type accordingly.

Also stop treating linux-arm as a best-effort platform since it doesn't
need to be. There are versions of git and bootstrap-go available for it.
This happens implicitly alongside the cipd_platform value change.

For golang/go#65241.

Change-Id: Ie2985d56fe6b08c67e296a4466e22d1eb11eaf8f
Reviewed-on: https://go-review.googlesource.com/c/build/+/559158
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/559500 mentions this issue: main.star: match previous environment in linux-arm builder

gopherbot pushed a commit to golang/build that referenced this issue Jan 30, 2024
The coordinator version of this builder is running well and passing,
but my attempts to start up a LUCI version of the same builder so far
are running into frequent stalls and other signs of corruption, and
infrequent successful runs.

Try to zero in on what's causing the difference by first matching the
environment configuration of the previous builder and see if that has
any effect, or if it's something else.

For golang/go#65241.

Change-Id: Id7f00a998056368a42bce8c6e02f01abbdd5455f
Reviewed-on: https://go-review.googlesource.com/c/build/+/559500
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/560015 mentions this issue: _content/doc/install: update GOARM default on non-arm systems

gopherbot pushed a commit to golang/website that referenced this issue Jan 31, 2024
As of Go 1.21, the default GOARM value when cross-compiling is 7.
This was done in CL 470695. Update its documentation accordingly.

For golang/go#24904.
For golang/go#65241.

Change-Id: I04a22b1e6d5b324615b4822f18db3c53270cf4fb
Reviewed-on: https://go-review.googlesource.com/c/website/+/560015
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/560436 mentions this issue: main.star: drop CGO_CFLAGS, CGO_LDFLAGS overrides from linux-arm env

gopherbot pushed a commit to golang/build that referenced this issue Feb 2, 2024
I have some evidence suggesting that setting GOARM=6 is the load-bearing
piece of configuration, not the other two. Take the next step to collect
more data points and test that hypothesis.

For golang/go#65241.

Change-Id: Ia4ecad9da0bc260d9be344e03d48dc83aa01b222
Reviewed-on: https://go-review.googlesource.com/c/build/+/560436
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/560464 mentions this issue: main.star: update for linux/arm builder reporting its arch as 32-bit arm

gopherbot pushed a commit to golang/build that referenced this issue Feb 2, 2024
I've realized it's possible to use setarch on an arm64 host and get
it to report its architecture as 32-bit arm. That works, and causes
the Swarming Bot to report its cipd_platform as linux-armv6l, which
should produce a more useful signal for the purpose of coverage for
the linux/arm port.

Update is_fully_supported to say yes for cipd_platform:linux-armv6l.
That is still my intention, it just needs to be done explicitly now.

For golang/go#65241.

Change-Id: I01c94ac6d3df20b49ec35a2aff1bb585eb73a1c6
Reviewed-on: https://go-review.googlesource.com/c/build/+/560464
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/560796 mentions this issue: main.star: use go1.21+ bootstrap for linux-armv6l

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/564835 mentions this issue: main.star: add linux-arm builder to the internal host

gopherbot pushed a commit to golang/build that referenced this issue Feb 17, 2024
A new distinct set of VMs will be used for security
pre-submit and release testing.

We choose not to have a shared pool in the security
environment at this time, so take that into account.

For golang/go#65241.

Change-Id: I9ef47b7cc91b531b54be3dba3fcd35489a554ebf
Reviewed-on: https://go-review.googlesource.com/c/build/+/564835
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/567595 mentions this issue: main.star: unmark the linux-arm builder as having a known issue

gopherbot pushed a commit to golang/build that referenced this issue Feb 27, 2024
The builder has been running some time and producing good signal so far.
Remove its known issue as its next step. The issue tracks the remaining
work to document its setup, and improve life-cycle edge case handling.

Also change the default so that known-issue internal builders start out
as optional. It doesn't make a difference now, but it probably would be
more useful behavior to default to in the future.

For golang/go#65241.

Change-Id: I10669db9f83873db47443025e96348c235a0c32e
Reviewed-on: https://go-review.googlesource.com/c/build/+/567595
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
@gopherbot

This comment was marked as off-topic.

@gopherbot

This comment was marked as off-topic.

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) new-builder OS-Linux
Projects
Status: In Progress
Development

No branches or pull requests

3 participants