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: investigate possibility of supporting Go tests that require use of Docker in trybots/builders #37633

Open
jba opened this issue Mar 3, 2020 · 7 comments
Labels
Builders x/build issues (builders, bots, dashboards) FeatureRequest NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@jba
Copy link
Contributor

jba commented Mar 3, 2020

We would like the trybots to be able to run a docker container.

The discovery site needs a postgres database to run tests, and we've been starting it in our CI with docker run.

An alternative would be to install postgres in the trybot image, but that's probably more difficult and definitely less general.

@gopherbot gopherbot added this to the Unreleased milestone Mar 3, 2020
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Mar 3, 2020
@jba jba added FeatureRequest and removed Builders x/build issues (builders, bots, dashboards) labels Mar 3, 2020
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Mar 3, 2020
@dmitshur
Copy link
Contributor

dmitshur commented Mar 3, 2020

/cc @cagedmantis @toothrot

IIRC it may have been @findleyr that had the same feature requests for x/tools trybots.

@dmitshur dmitshur added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Mar 3, 2020
@dmitshur dmitshur changed the title x/build: let trybots run docker x/build: investigate possibility of supporting Go tests that require use of Docker in trybots/builders Mar 3, 2020
@dmitshur
Copy link
Contributor

dmitshur commented Mar 3, 2020

@jba Docker does not support every platform that Go supports and gets tested on. Is the scope of this feature request limited to a subset of GOOS/GOARCH pairs? For example, just linux/amd64 and potentially others?

@toothrot
Copy link
Contributor

toothrot commented Mar 3, 2020

If the target for the discovery site is always Docker, an alternative would be to configure a Cloud Build run to be able to publish Trybot results, rather than using the normal Trybots for this specific scenario.

@findleyr
Copy link
Contributor

findleyr commented Mar 3, 2020

Yep, I discussed this with Jonathan (thanks @jba for posting this issue). I think this might not be possible with the current Trybot implementation. For example, exposing Docker probably means exposing sudoless docker, which comes with a bunch of security concerns.

Another option might be to integrate TryBot functionality with other CI tooling, for example Cloud Build. TryBots have many nice features (e.g. gating on Run-Trybots +1) that could perhaps be separated from the actual CI.

@toothrot
Copy link
Contributor

toothrot commented Mar 3, 2020

If you're using Cloud Build, it might not be necessary to gate Run-Trybots. Out of curiosity, what other features are you thinking of?

@findleyr
Copy link
Contributor

findleyr commented Mar 3, 2020

Perhaps, though I'd prefer still gating on Run-Trybots

Another feature is hosting artifacts in a public GCS bucket, and posting them back to the the CL (not something GCB does out of the box).

@jba
Copy link
Contributor Author

jba commented Mar 10, 2020

Could the trybots execute a gcloud command? Then we could use the trybot to trigger the GCB run.

That would give us gating, but not public artifacts.

It would imply that the trybots have some sort of GCP auth on them.

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 NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

5 participants