Go: x/build: trybots should test subrepos against previous Go releases

Created on 27 Oct 2016  ·  26Comments  ·  Source: golang/go

Subrepos trybots should test against Go tip, Go 1.N, Go 1.N-1.

Builders FrozenDueToAge

All 26 comments

What's the general policy for how many versions back we maintain support on a given subrepo?

In general, the two most recent. (which means between 12-18 months for us)

I'm new to the language contribution process, but I'd like to help with this issue since it seems like something simple (relative). How can I help with this issue?

This is a hard one to contribute to because the Go build system is large and has many moving parts, and it's difficult to run without access to our GCP project, and/or paying for it.

The code is in https://github.com/golang/build (mostly in cmd/coordinator) and you can run it in localhost machine. Kinda. But it might require some hackery for local testing. That code bitrots often and needs occasional love. I suspect it's partially broken.

Alright, I'll see if I can make some progress, and update here if I need help. Do I need a builder hash at all?

Nope.

I'm getting this issue when trying to run it locally:

failed to get a token source: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.

Do those creds need to be on the Go build system or will any credentials work?

You're starting to discover why this is difficult. You shouldn't need any credentials in localhost mode. But we also don't develop the build system in localhost mode, so you probably need to fix it up to work.

Fix the system to fix the system, can do! I'll create a sub-issue to allow it to work in localhost mode and tackle that first.

@andybons, after the dev.golang.org migration (#20691), this would be a good second one.

Change https://golang.org/cl/51590 mentions this issue: maintner/maintnerd, cmd/coordinator: use maintnerd to find TryBot work

This would be really nice for x/tools/go/packages, which has very different behavior on 1.10.

Change https://golang.org/cl/143538 mentions this issue: cmd/coordinator: run subrepo trybots against recent Go release branches

Change https://golang.org/cl/146137 mentions this issue: maintner: add RPC endpoint for listing Go releases

Change https://golang.org/cl/147137 mentions this issue: failing_test: test of new trybot feature

Change https://golang.org/cl/147198 mentions this issue: maintner/maintnerd/maintapi: test subrepos against previous Go releases

Change https://golang.org/cl/147200 mentions this issue: maintner/maintnerd: change definition of Go release to require release branch

Reopening for deploy and verification.

Deployed.

According to https://go-review.googlesource.com/c/tools/+/147137#message-af8badf0a004b89d6130ff01bdf798052e2bebc8, it's not working yet. There are still 18 trybots for a subrepo run, that only include the latest Go tip version. /cc @bradfitz

Whoops. I deployed cmd/coordinator, but for this to take effect I should be deploying maintnerd.

So, this isn't actually deployed yet. Working on that now.

So it seems to work, but I missed something in the UI. It's using the builder name and not the new Name() string accessor here:

screen shot 2018-11-03 at 12 49 15 pm

Notice that (and the grid below) is missing the Go version in parens.

But I do get the nice names in the final email:

screen shot 2018-11-03 at 12 50 52 pm

Also, (go branch release-branch.go1.10) is pretty verbose. I clearly didn't think that through.

We could make that accessor clean up the string a bit and just say (Go 1.10).

Indeed! From https://go-review.googlesource.com/c/tools/+/147137#message-d1a29aad64e636ed4ffcbaf1f2c3f324dc5d5d54:

7 of 20 TryBots failed:
...
Failed on linux-amd64 (go branch release-branch.go1.10): https://storage.googleapis.com/go-build-log/1ae73979/linux-amd64_c18e47da.log
Failed on linux-amd64 (go branch release-branch.go1.11): https://storage.googleapis.com/go-build-log/e8a95aeb/linux-amd64_1798cb41.log
Failed on linux-amd64: https://storage.googleapis.com/go-build-log/f2cd0fa7/linux-amd64_fbab8151.log
...

That's proof it's working as intended! 🎉

I'll consider this issue resolved. Let's open a new one for the UI improvements (edit: opened #28580).

I'm fine reusing this bug, but new one is also fine.

Change https://golang.org/cl/147497 mentions this issue: cmd/coordinator: fix another UI issue with trybots against old Go releases

Was this page helpful?
0 / 5 - 0 ratings