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

Open
ysmolsky opened this issue Apr 12, 2018 · 10 comments
Open

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

ysmolsky opened this issue Apr 12, 2018 · 10 comments

Comments

@ysmolsky
Copy link
Member

@ysmolsky ysmolsky 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.

@ysmolsky ysmolsky added the NeedsFix label Apr 12, 2018
@gopherbot gopherbot added this to the Unreleased milestone Apr 12, 2018
@gopherbot gopherbot added the Builders label Apr 12, 2018
@andybons
Copy link
Member

@andybons andybons commented Apr 12, 2018

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

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

@ysmolsky ysmolsky commented Apr 12, 2018

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

@andybons
Copy link
Member

@andybons andybons commented Apr 12, 2018

Good question. @bradfitz ?

@bradfitz
Copy link
Contributor

@bradfitz bradfitz commented Apr 12, 2018

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

@ysmolsky
Copy link
Member Author

@ysmolsky ysmolsky commented Apr 13, 2018

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

@bradfitz bradfitz commented Apr 13, 2018

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 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: 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 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
Member

@dmitshur 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 if something Docker-related also needs to be done, but @toothrot may have more context.

/cc @toothrot @findleyr

@toothrot
Copy link
Contributor

@toothrot 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants
You can’t perform that action at this time.