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 playground to build.golang.org #24823

Closed
ysmolski opened this issue Apr 12, 2018 · 13 comments
Closed

x/build: add playground to build.golang.org #24823

ysmolski opened this issue Apr 12, 2018 · 13 comments
Labels
Builders x/build issues (builders, bots, dashboards) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@ysmolski
Copy link
Member

ysmolski commented Apr 12, 2018

Currently running trybots for x/playground produces this:
https://storage.googleapis.com/go-build-log/2d26a65f/linux-amd64_e35969e6.log

Add Playground to build.golang.org.
Make builders be able to test Playground in the its docker container.

@ysmolski ysmolski added the NeedsFix The path to resolution is known, but the work has not been done. label Apr 12, 2018
@gopherbot gopherbot added this to the Unreleased milestone Apr 12, 2018
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Apr 12, 2018
@andybons
Copy link
Member

You should also add it to build.golang.org 😄

@ysmolski ysmolski changed the title x/build: enable playground testing x/build: add playground to build.golang.org Apr 12, 2018
@ysmolski
Copy link
Member Author

@andybons, is there any good doc describing how trybots work besides https://go.googlesource.com/build/ ?

@andybons
Copy link
Member

Good question. @bradfitz ?

@bradfitz
Copy link
Contributor

Nope, not besides reading the coordinator code. But this is not a good starter project.

@ysmolski
Copy link
Member Author

Something is not clear. We have to test Playground via it's docker container. But where should we run that? I think it does not make much sense to run it on many platforms. Also I fail to find repos tests in similar fashion, but running not a go test ./... but rather docker container which will take more than 10 minutes to build from scratch. I will dig further a bit later...

@bradfitz
Copy link
Contributor

Yes, we have no way to do this right now. That's why it's not a good starter project. This will be a lot of work and require a number of changes across our build system.

@bradfitz
Copy link
Contributor

bradfitz commented Apr 13, 2018

Rough outline, though:

  • make a new misc-playground builder (similar to misc-compile-*).
  • make a new host type in x/build/dashboard/builders.go etc that's VM-based, not container-based. Probably can resurrect docker2boot, which we used to use before Kubernetes. (we don't want to use Kubernetes here because docker build on Kubernetes remains a mess: Figure out how to support docker build on Kubernetes kubernetes/kubernetes#1806 etc)
  • make a "go test" friendly test that runs exec.Command("docker", "build") etc if os.Getenv("GO_BUILDER_NAME") == "misc-playground"
  • add some special cases for which tests to run in dashboard/builders.go and cmd/coordinator, like some of the others clarifying which repos run on which builders.

@dlorenc
Copy link

dlorenc commented Apr 16, 2018

We just open sourced a tool today to make docker build on kubernetes less of a mess: github.com/GoogleCloudPlatform/kaniko

@dmitshur
Copy link
Contributor

dmitshur commented Apr 20, 2020

Resolving this issue should be easier now compared to 2018 for at least one reason: thanks to the module mirror, additional non-golang.org/x dependencies will no longer be a problem for the builders/trybots to fetch.

I'm not sure if something Docker-related also needs to be done, but @toothrot may have more context.

/cc @toothrot @findleyr

@dmitshur dmitshur added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. and removed NeedsFix The path to resolution is known, but the work has not been done. labels Apr 20, 2020
@toothrot
Copy link
Contributor

toothrot commented Apr 20, 2020

The integration tests changed in #25224 to require two docker containers running in a docker network, and also require the ability to run runsc, which requires root. I have a few ideas on how we can get good coverage, but in the current state the TryBots and the Playground's test setup will require a little work.

@findleyr
Copy link
Contributor

I discovered that the playground's TryBot's have been broken for some time (https://go.dev/issue/59218).

I think we should revisit this issue, and also consider adding RelUI automation to update the playground's dependencies.

@gopherbot
Copy link

Change https://go.dev/cl/566417 mentions this issue: main.star: add playground repo

gopherbot pushed a commit to golang/build that referenced this issue Feb 23, 2024
The previous infrastructure did not display x/playground on the
post-submit dashboard, but they did offer trybots. LUCI trybots
are required now, so it's a good time to add basic coverage for
x/playground. Being able to run all of its tests that have more
dependencies is for later.

For golang/go#24823.

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

dmitshur commented Feb 28, 2024

Post-submit builders for x/playground have been added in LUCI, for example:

https://ci.chromium.org/p/golang/g/x-playground-gotip/console

(There are more dashboards for release branches and with different commit order if you search for "x/playground" in the https://ci.chromium.org/p/golang list.)

I filed #66002 to track getting additional tests to run,
and #66001 to opt-in x/playground for automated golang.org/x updates.

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) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
Status: Done
Development

No branches or pull requests

8 participants