prow: introduce prow - #253
Conversation
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for the commit author(s). If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. |
kyessenov
left a comment
There was a problem hiding this comment.
I hope you don't expect us to review 600k lines of code :)
|
😂 certainly not -- advice on the right way to vendor another Git repo that
we may want to modify in the future welcome...currently approaching with
git subtrees ....
…On Fri, Jun 30, 2017 at 2:16 PM Kuat ***@***.***> wrote:
***@***.**** commented on this pull request.
I hope you don't expect us to review 600k lines of code :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#253 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACBRUQf9Q4TaxuZMKZf0HTXo3TE75GuDks5sJWWggaJpZM4OLDo1>
.
|
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
for now axing k8s-test-infra subtree because I don't modify here, and we use the k8s-prow images now (rather than build our own from source). |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
1 similar comment
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
@istio-testing bazel test this |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
| @@ -0,0 +1,4 @@ | |||
| This directory contains standard images maintained by Istio for test infrastructure purposes. | |||
|
|
|||
| * prowbazel - gives an environment with git, gcloud, python, bazel, and go. It is suitable for bazel-based projects. | |||
There was a problem hiding this comment.
is this deeply tied to gcloud? Can this be run on other platforms?
There was a problem hiding this comment.
The reason I ask is because eventually folks would want to run tests against istio/istio on their own environments. Having a jenkins and a prow seems ripe for all sorts of issues such as test environment divergence.
There was a problem hiding this comment.
The prowbazel docker image will be used in every job. We are actually uploading artifacts and logs to google cloud storage. Those would be publicly available. If folks want to upload to other cloud, they can modify this image to add new tools or create their own image. In a near future we ll probably use specific image for specific jobs.
There was a problem hiding this comment.
good point @rshriram -- the prowbazel docker file in particular, not tied to GCP, just a docker file (we do host it on GCR).
to reiterate as @sebastienvas mentioned, the entrypoint of the docker file uploads logs to a gcs bucket, which is google specific. the bucket is read public.
other folks running infrastructure would likely use an image that uploads logs to their preferred storage.
| @@ -0,0 +1,965 @@ | |||
| #!/usr/bin/env python | |||
|
|
|||
| # Copyright 2016 The Kubernetes Authors. | |||
There was a problem hiding this comment.
any way to reference rather than copy this large file ? or did you make changes to it (which change compared to the original ? where is the original?)
|
|
||
| istio/test-infra: | ||
| - name: test-infra-presubmit | ||
| skip_report: true |
There was a problem hiding this comment.
why ? I'm curious to see how prow reports work and I hope it doesn't have the bug that our jenkins report has of posting a comment that triggers a lot of useless github notifications ?
There was a problem hiding this comment.
This diff introduces the prow/test-infra-presubmit.sh, but other PRs on these repos don't yet have the file, and the job would fail, therefore I turned off reporting.
re: notifications, Prow does comment on the PR for test failures.
| @@ -0,0 +1,4 @@ | |||
| This directory contains standard images maintained by Istio for test infrastructure purposes. | |||
|
|
|||
| * prowbazel - gives an environment with git, gcloud, python, bazel, and go. It is suitable for bazel-based projects. | |||
There was a problem hiding this comment.
The prowbazel docker image will be used in every job. We are actually uploading artifacts and logs to google cloud storage. Those would be publicly available. If folks want to upload to other cloud, they can modify this image to add new tools or create their own image. In a near future we ll probably use specific image for specific jobs.
| ENV TEST_TMPDIR /home/bootstrap/.cache/bazel | ||
|
|
||
| # Add bootstrap, the test harness (checks out code, captures log and status) | ||
| ADD ./docker/prowbazel/bootstrap.py ${HOME} |
There was a problem hiding this comment.
Based on our discussion with @ldemailly, this is where you would put an URL. https://docs.docker.com/engine/reference/builder/#add. The url might something like https://raw.githubusercontent.com/kubernetes/test-infra/master/jenkins/bootstrap.py
|
|
||
| # Open shell to running prowbazel image for experimentation. | ||
| run: | ||
| docker run -it --entrypoint bash --privileged gcr.io/istio-testing/prowbazel:0.1 |
There was a problem hiding this comment.
replace istio-testing with
|
|
||
| if [ "$CI" == "bootstrap" ]; then | ||
| # ensure correct path | ||
| mkdir -p $GOPATH/src/istio.io |
There was a problem hiding this comment.
It kind of sucks that we need to do that on every job. Could we move that feature into bootstrap once we have our own fork ?
| . | ||
| ├── anotherdir | ||
| │ └── ... | ||
| ├── jobs |
There was a problem hiding this comment.
let s rename this to prow
| @@ -0,0 +1,102 @@ | |||
| --- | |||
There was a problem hiding this comment.
let s move this to prow/config.yaml as discussed.
| @@ -0,0 +1,9 @@ | |||
| # Plugin repository whitelist. | |||
There was a problem hiding this comment.
let move this to prow/plugins.yaml as discussed.
| kubectl apply -f cluster/deck_deployment.yaml | ||
|
|
||
| deck-service: get-cluster-credentials | ||
| kubectl create -f cluster/deck_service.yaml |
There was a problem hiding this comment.
why not make everything apply?
| @@ -0,0 +1,6 @@ | |||
| apiVersion: extensions/v1beta1 | |||
| kind: ThirdPartyResource | |||
There was a problem hiding this comment.
should probably switch to CustomResourceDefinition since TPRs are deprecated. I'd expect the upstream project to do the work fairly soon.
There was a problem hiding this comment.
nice catch. I created an issue upstream, I assume the plan is to make the switch.
|
@istio-testing bazel test this |
1 similar comment
|
@istio-testing bazel test this |
|
@istio-testing bazel test this |
|
the prow results for the presubmit are here. |
|
CLAs look good, thanks! |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
|
CLAs look good, thanks! |
|
This is a test. |
|
Jenkins job test-infra/presubmit passed |
@nlandolfi: I updated Prow config for you!I updated Prow plugins config for you!. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Introduce prow related resources and configurations.
Update 7/6/17: prow is running, view the simple deck frontend here. It is running as the
prowcluster on istio-testing, so with access to the project one can also get the kubectl context and get the pods:This PR adds the test-infra-presubmit job file. This results of test runs from this file are here. Notice that we are piggy-backing on kubernetes instance of
gubernator, a UI for viewing job results.I have turned off public reporting for all prow jobs configured in
prow/cluster/configmaps/config.yamlfor the moment, because it was needlessly failing on other PRs (c.f. 254.My intention is to create a pull request against pilot adding its job files in a similar manner. I will wait to see that those are passing (while keeping reporting off), then once that merges master we can turn on the public reporting. As we can turn on public reporting once this PR goes to master (because the jobs/test-infra-presubmit.sh file will be in master).
TODO: