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: automate testing "toolstash -cmp" with trybots #10418

Open
mdempsky opened this issue Apr 10, 2015 · 4 comments
Open

x/build: automate testing "toolstash -cmp" with trybots #10418

mdempsky opened this issue Apr 10, 2015 · 4 comments
Labels
Builders x/build issues (builders, bots, dashboards) FeatureRequest
Milestone

Comments

@mdempsky
Copy link
Member

For cleanup CLs like https://go-review.googlesource.com/#/c/8762, it would be nice if the trybots could take care of building a toolchain at HEAD, toolstash saving it, rebuilding at HEAD+CL, and then running an appropriate "toolstash -cmp" build.

Using toolstash/buildall, this only needs to be run once on a fast/cheap trybot type (e.g., linux/amd64) to avoid wasting more expensive trybot resources (e.g., OS X and/or ARM).

Obviously this would only be on an opt-in basis. Perhaps just a new dedicated trybot type that doesn't run by default, is configured with a different testing script than running all.bash, and is selected via whatever +trybot mechanism is implemented.

Maybe too niche a use case, but some rationale:

  • Now that the toolchain is in Go, it seems like cleanup CLs to make the code more idiomatic are going to be increasingly common.
  • It's easy to misuse toolstash; e.g., accidentally build the stashed toolchain at HEAD+CL rather than HEAD, negating the testing benefits.
  • As a reviewer, you need to trust that developers who say "Passes toolstash -cmp" actually tested it correctly.
@josharian
Copy link
Contributor

I'd love this.

@mdempsky
Copy link
Member Author

Tangentially, I just realized that using "toolstash -cmp" with "go build std" doesn't provide any linker coverage. It should be something like "go build std cmd".

@rsc rsc changed the title build: automate testing "toolstash -cmp" with trybots x/build: automate testing "toolstash -cmp" with trybots Apr 14, 2015
@rsc rsc added this to the Unreleased milestone Apr 14, 2015
@rsc rsc removed the builder label Apr 14, 2015
@gopherbot
Copy link

CL https://golang.org/cl/9530 mentions this issue.

josharian added a commit that referenced this issue Apr 30, 2015
This exercises the linker as well as the compiler.

Credit to Matthew Dempsky; see #10418.

Change-Id: I793947c0c617a34e23df766bff5238ff3ac3c0af
Reviewed-on: https://go-review.googlesource.com/9530
Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
@rsc rsc added the Builders x/build issues (builders, bots, dashboards) label Jun 11, 2015
@bradfitz
Copy link
Contributor

bradfitz commented Sep 4, 2019

Probably the easiest way to implement this is to take advantage of the existing post-make.bash snapshots we already upload to GCS for all builds.

So after trybots pass (probably for each build config? or at least Windows + Linux?), pull down tarballs of the git parent's previous make.bash snapshot and the current one, and toolstash cmp that, or equivalent.

/cc @toothrot

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) FeatureRequest
Projects
None yet
Development

No branches or pull requests

5 participants