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 misc-compile -like trybots in LUCI #61698

Closed
dmitshur opened this issue Aug 1, 2023 · 8 comments
Closed

x/build: add misc-compile -like trybots in LUCI #61698

dmitshur opened this issue Aug 1, 2023 · 8 comments
Assignees
Labels
Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@dmitshur
Copy link
Contributor

dmitshur commented Aug 1, 2023

This is an issue to track adding misc-compile -like builders in LUCI.

crrev.com/c/4739675 prepares golangbuild for it.

go.dev/cl/515035 adds the initial LUCI builder definitions.

CC @golang/release, @mknyszek, @prattmic.

@dmitshur dmitshur added Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done. labels Aug 1, 2023
@dmitshur dmitshur added this to the Unreleased milestone Aug 1, 2023
@dmitshur dmitshur self-assigned this Aug 1, 2023
@gopherbot
Copy link

Change https://go.dev/cl/515035 mentions this issue: main.star: start adding misc-compile builders

gopherbot pushed a commit to golang/build that referenced this issue Aug 3, 2023
Misc-compile builders are going to be TryBots (i.e., builders that run
before CL submission) that perform compile-only testing across all non-
first-class ports. This is viable to do on highly available machines
thanks to cross-compilation, relying on sharding across multiple such
machines to get it as fast as we need it to be.

Only postsubmit to begin with to avoid disturbing anyone while this
rolls out. Once it works I will add presubmit and stop postsubmit.

For golang/go#61698.

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

Change https://go.dev/cl/515735 mentions this issue: main.star: triple sharding amount for misc-compile builders

gopherbot pushed a commit to golang/build that referenced this issue Aug 3, 2023
It completes in under 30 minutes as is. Go with a tentative target
of 10 minutes for now (via golang/go#17104), we can revisit it later.

In comparison, the previous build system currently uses effectively
the equivalent of 33 shards (that each handle one port), so even 12
shards is only about a third of that.

For golang/go#61698.
For golang/go#17104.

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

Change https://go.dev/cl/516256 mentions this issue: all: update esbuild dependency

gopherbot pushed a commit to golang/website that referenced this issue Aug 7, 2023
Current esbuild version fails to build on Plan 9.
Pull in a newer version where that's been fixed.

Updates evanw/esbuild#3289.
For golang/go#61698.

Change-Id: Ie12bf81df57d22306857b6f51bb426cfa2a47cec
Cq-Include-Trybots: luci.golang.try:x_website-gotip-linux-amd64-misccompile
Reviewed-on: https://go-review.googlesource.com/c/website/+/516256
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
@gopherbot
Copy link

Change https://go.dev/cl/516677 mentions this issue: shiny/driver/mtldriver: add cgo build constraint

gopherbot pushed a commit to golang/exp that referenced this issue Aug 7, 2023
The mtldriver package requires cgo even though it itself doesn't import
"C" directly. This is because it imports Go packages that require cgo.

So, add the 'cgo' build constraint to mtldriver too, since it can't do
its job without it.

This fixes 'build constraints exclude all Go files' build errors when
CGO_ENABLED is set to 0. Uncovered incidentally while cross-compiling
to another platform, which happens to disable cgo by default.

For golang/go#61698.

Change-Id: I298018e79a5e93a55d39bda2b253686cde8b5e8a
Reviewed-on: https://go-review.googlesource.com/c/exp/+/516677
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link

Change https://go.dev/cl/518095 mentions this issue: cmd/modinfo/internal/pkgsitedb: fix build on plan9

@gopherbot
Copy link

Change https://go.dev/cl/518037 mentions this issue: event: update x/sys

gopherbot pushed a commit to golang/vulndb that referenced this issue Aug 10, 2023
Package pkgsitedb doesn't work on plan9 because a dependency doesn't
support it. It was meant to return a runtime error in the db_plan9.go
implementation, but it looks like there was a mixup with a similar
pkgsitedb package at golang.org/x/pkgsite-metrics/internal/pkgsitedb.

After these changes, it and all of its tests compile on GOOS=plan9:

$ GOOS=plan9 GOARCH=amd64 go test -c -o=/dev/null ./...
[...]
$ echo $?
0

Also run 'go mod tidy' to drop the x/pkgsite-metric requirement.

For golang/go#61698.

Change-Id: Ia016b5705894029380840ce8499047e264054e9f
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/518095
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
gopherbot pushed a commit to golang/exp that referenced this issue Aug 10, 2023
This fixes build errors on freebsd/riscv64 and linux/loong64 ports.

For golang/go#61698.

Change-Id: Iabf5bb5e6b0c33c28f7216aba32c8fbd6eda5a2c
Reviewed-on: https://go-review.googlesource.com/c/exp/+/518037
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: qiulaidongfeng <2645477756@qq.com>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
@gopherbot
Copy link

Change https://go.dev/cl/518800 mentions this issue: main.star: enable misccompile builders as trybots

gopherbot pushed a commit to golang/build that referenced this issue Aug 11, 2023
They're working and passing everywhere now.

Keep them around as post-submit builders too, at least for now. This is
so that if something regresses, it's easy to see. We can make them only
run as trybots once LUCI trybots are required to run on each CL, likely
after old trybots are turned off too, since they may not catch all that
the new ones do. We'll see.

Fixes golang/go#61698.

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

They're working and passing, and CL 518800 included them to the default pre-submit builder set in LUCI.

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) NeedsFix The path to resolution is known, but the work has not been done.
Projects
Archived in project
Development

No branches or pull requests

2 participants