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

configure prow presubmit jobs #2

Closed
pohly opened this issue Nov 30, 2018 · 2 comments
Closed

configure prow presubmit jobs #2

pohly opened this issue Nov 30, 2018 · 2 comments

Comments

@pohly
Copy link
Contributor

pohly commented Nov 30, 2018

We should run make test or some equivalent of it before each PR merge. As this is a Kubernetes repo and we already use prow for merging, we should also use prow for testing.

@pohly
Copy link
Contributor Author

pohly commented Nov 30, 2018

https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/config.yaml and the corresponding https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/tree/master/test show how this can be done.

@saad-ali, @msau42 shall we create a test-infra/config/jobs/sig-storage and start adding job configs for the kubernetes-csi repos there, starting with csi-lib-utils?

I can work on that.

@msau42
Copy link
Collaborator

msau42 commented Nov 30, 2018

Yes this sounds like a great idea

pohly added a commit to pohly/test-infra that referenced this issue Dec 3, 2018
kubernetes-csi/csi-lib-utils is a brand-new stand-alone repo with some
Go utility package (one at the moment, more to come). "make test"
inside it enforces coding style and that unit tests pass, which is
something that we want to ensure before merging any PR.

This is the first config for sig-storage, hence the new OWNERS file.

Fixes: kubernetes-csi/csi-lib-utils#2
pohly added a commit to pohly/test-infra that referenced this issue Dec 3, 2018
kubernetes-csi/csi-lib-utils is a brand-new stand-alone repo with some
Go utility package (one at the moment, more to come). "make test"
inside it enforces coding style and that unit tests pass, which is
something that we want to ensure before merging any PR.

This is the first config for sig-storage, hence the new OWNERS file.

Fixes: kubernetes-csi/csi-lib-utils#2
pohly added a commit to pohly/test-infra that referenced this issue Dec 4, 2018
kubernetes-csi/csi-lib-utils is a brand-new stand-alone repo with some
Go utility package (one at the moment, more to come). "make test"
inside it enforces coding style and that unit tests pass, which is
something that we want to ensure before merging any PR.

This is the first config for kubernetes-csi, hence the new OWNERS file.

Fixes: kubernetes-csi/csi-lib-utils#2
pohly added a commit to pohly/test-infra that referenced this issue Dec 4, 2018
kubernetes-csi/csi-lib-utils is a brand-new stand-alone repo with some
Go utility package (one at the moment, more to come). "make test"
inside it enforces coding style and that unit tests pass, which is
something that we want to ensure before merging any PR.

This is the first config for kubernetes-csi, hence the new OWNERS file.

Fixes: kubernetes-csi/csi-lib-utils#2
thommay added a commit to Improbable-Archive/k8s-test-infra that referenced this issue Dec 6, 2018
* Add periodic jobs for cloud-provider-azure

* Re-add "Check APIReachability" to kubetest

* bump kubekins-test to 1.10-latest for pull-heapster-e2e

* Bump to gcr.io/k8s-testimages/kubekins-e2e:v20181122-a5bf59311-(master|experimental|releases) (using generate_tests and manual)

* Bump to e2e-kubeadm:v20181122-3648a2bf2

* Fix bug in checking external plugins.

* bump kubekins-test to 1.13-latest for pull-heapster-e2e

* Update pod-utilities.md

`ssh_key_secrets` field is under job decoration config. Update docs to reflect this.
See https://github.com/kubernetes/test-infra/blob/master/prow/config/jobs.go#L317 and https://github.com/kubernetes/test-infra/blob/master/prow/apis/prowjobs/v1/types.go#L143.

* init submodules after checkout & merge

* Adding istio minProfile to testgrid

* Lint suggest code change for stutters

* spyglass: use the configured plank job URL prefix instead of assuming gubernator.

* Improve assorted words.

* RegexpChangeMatcher: improved naming and comments

* prevent slice from going out of bounds

* Define a formal job name regex

Previously, no formal specification for the content of a job name was
given, but implicit requirements did exist. This change defines a strict
regex that job names must match to expose those requirements publically.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Rework spyglass lenses to be isolated properly.

* Pass the presubmits!

* Some cleanup.

* Fix anonymous authentication for gerrit client

* Thaw 1.13 code freeze.

* Add support for error_on_eviction job config field.

* bump timeout for soak job a bit more

* Move kubespray to kubernetes-sigs

* Move node-feature-discovery to kubernetes-sigs

* retire "version" key in metadata

* drop todo to drop interval

* fix descriptions for the diff command

* Rename the plugin configuration agent appropriately

The types for these objects were unclear and mixed terms. The plugin
configuration agent is now imported as `plugins.ConfigAgent{}`.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Rename the plugin agent struct appropriately

This struct was also unclear and also stuttered. The plugin's agent is
now imported as `plugins.Agent{}`.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Remove commented code

Signed-off-by: Steve Kuznetsov <[email protected]>

* Stop resolving config separately in repo-owners client

The repo-owners plugin client was resolving configuration at run-time,
unlike the rest of the plugins.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Adding istio codecov job to testgrid

* testgrid/config: update kubeadm jobs for 1.13 release

- remove 1.9 jobs
- remove 1.10 jobs
- remove 1.10 on 1.11 jobs
- update frequency of some tests:
  - old version upgrade tests to 12h
  - stable-master to 4h from 6h
  - gce-1.11 to 12h from 6h

* Remove KUBERNETES_CONFORMANCE_PROVIDER env variable setting in acs-engine

* Add a subscription mechanism for config updates

A number of components could benefit from being able to monitor
configuration updates without implementing their own polling. This
change allows a consumer of the config agent to subscribe to changes
in the configuration and inspect the delta between configurations when
they change.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Change azure provider to skeleton in windows tests

* Send e2e coverage results to testgrid.

* add note about make clean to planter

* Lower the threshold to 0.6, which is more plausible for e2e tests.

* Add a prow/bump label whenever we bump

* crier: prevent nil map deref

* Move subscription update to Set()

* clean up deprecated gerrit labels

* Deploy MULTI_KIND objects, objects only once

* add documentation for /language label

* Refactor the plugin agent to separate concerns

Hook provides each registered plugin a large container of global state
when the plugin is executed to handle an incoming event. Previously,
this container was conflating a number of uses and was storing truth in
more than once place. The following changes have been made:

 - the plugin config agent has been split out to a standalone entity
   like the secret agent or the prow config agent, to allow for it to be
   used independently and to encapsulate that logic
 - the assorted clients have been collected into a shallow wrapper for
   passing through the chain
 - derivative clients reuse singular sources of truth and are created
   on-demand by plugins, providing only the necessary data
 - as minimal an impact as possible was left on the plugin code,
   especially on interfaces that drive test fakes

Signed-off-by: Steve Kuznetsov <[email protected]>

* Fix gzip confusion in gcsartifact.ReadAtMost

* spyglass: implement on-demand build log loading.

* Fix spyglass pod logs.

* moving loading of rules to the top of file

* retire rest of the .env files

* report on postsubmits

* Add three new projects to scalability-project pool.

* Add 100 gce performance test with NodeKiller enabled.

* cluster-api-provider-gcp: Update image for go 1.10

cluster-api itself is using this as the base image, and
cluster-api-provider-gcp now has dependencies that only compile on go
>= 1.10.

* kops-config: Update gcloud-in-go image for go 1.10

kops is building with go 1.10, and so we want the updated image with
the newer go version.

* update gerrit/README.md to include postsubmits

* filter by job type in ShouldReport

* Add backwards compatibility for new spyglass lens names.

* Update breaking changes section for SA mount

Signed-off-by: Steve Kuznetsov <[email protected]>

* Swap github.com/ghodss/yaml for sigs.k8s.io/yaml

* Update dep to 0.5.0

* Update k8s.io packages to kubernetes 1.12

* Add constraint for gopkg.in/yaml.v2

* Update deps

* Update codegen

* Fix scientific notation in yaml test

* Mount SA secret by default if SA name is given

When a user provides a service account name for their PodSpec in a job,
they are clearly requesting that their service account have it's
credentials mounted into the pod and we should not make them explicitly
request that as well.

Signed-off-by: Steve Kuznetsov <[email protected]>

* add e2e test job for clusterapi vsphere

* Make some Prow components use the Retain deployment strategy.

Prow components that can only safely be run with a single instance in
the cluster need to explicitly specify the "Retain" deployment strategy
to avoid the default rolling update behavior.

* Include correct timestamp in grandmatriarch image

* Gerrit: only run jobs when changes match regexp

* make linter happy

* use sets.String instead of map[string]bool

* only list files on current revision

* Add a number of missing images and external plugins to push

Signed-off-by: Steve Kuznetsov <[email protected]>

* Bump to gcr.io/k8s-testimages/kubekins-e2e:v20181129-33929460d-(master|experimental|releases) (using generate_tests and manual)

* Bump to e2e-kubeadm:v20181129-86a174eaa

* Bump prow from v20181119-ffa9de5 to v20181129-31c544b

* remote env variable in job spec

* Added dashboard for the new tests

* Updated image

* enable the clusterapi vsphere e2e job as always run

* Fix bad log segment length calculations.

* Fix error when unhiding the last segment.

* config/.../eks: set download paths for kubectl, aws-iam=authenticator

Signed-off-by: Gyuho Lee <[email protected]>

* kubetest/eks: use "AWSK8sTesterPath" to download test plugins

Signed-off-by: Gyuho Lee <[email protected]>

* kubetest/eks: add "KubectlCommand" to EKS provider

Signed-off-by: Gyuho Lee <[email protected]>

* kubetest: implement "KubectlCommand"

Signed-off-by: Gyuho Lee <[email protected]>

* vendor: upgrade "aws/aws-k8s-tester"

Signed-off-by: Gyuho Lee <[email protected]>

* Unit test the byte calculations.

* Add links to more Prow users in Prow README.

* gofmt

* Switch to pod-utilities

* Set --node-killer-jitter-factor=25 in scalability killer job.

The test runs approx. ~25 minutes in test code, so we set 25 to kill ~1
node per test run.

* Don't trigger postsubmits on branch deletion

It is not appropriate to trigger postsubmits on a branch deletion event.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Create test-case-local clients

Previously the fake client was shared between test cases which meant
that the internal record of triggered jobs was not correctly tracking
what each test case did.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Add verify-bazel to sigs/cluster-api-provider-aws

Signed-off-by: Vince Prignano <[email protected]>

* Add short_text_metric to testgrid's config.proto

* clean up heapster CI configurations

* Remove TestBazelbuildArgs as no one uses it this way any more

* Add blockade for KEPs (k/community)

Signed-off-by: Stephen Augustus <[email protected]>

* Make autobump job use an image with ssh

* Always set git name/email when specified

* Prevent tide from crashing when there are no RequiredStatusChecks

* Typo fixed: "satisty" -> "satisfy"

Fix typo in line 356.

* Drop coverage failure threshold to zero

The failures were otherwise excessively noisy.

* Bump prow from v20181129-31c544b to v20181203-6a1345b

* heart: react on changes to OWNERS_ALIASES

* heart: react on all comments by adorees

- Since there is no submit queue anymore, the regex has no meaning.
We can react on all comments left by adorees.

- Return early when no adorees have been specified.

- Remove k8s-merge-bot as adoree since there is no submit queue.

* heart: allow to configure comment regex

* Update label logging in PodSpec decoration

We should log at the info level, not warning, for these messages. We
should also use the Logrus fields format for annotating messages.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Update kubekins images to go1.11.2

* Use the preloaded nvidia driver installer on Ubuntu image

* kubekins-e2e: update bazel patch version and use 0.20.0 on experimental

* Bump to gcr.io/k8s-testimages/kubekins-e2e:v20181203-a441fa430-(master|experimental|releases) (using generate_tests and manual)

* Bump to e2e-kubeadm:v20181203-54094769c

* Honor the Retry-After header on 403s from GitHub

When GitHub is using an abuse rate limit, not a normal API rate limit,
they will send a 403 and a suggested retry-after time. We need to honor
that header in order to not cause our clients to continue to exacerbate
the issue causing the abuse rate limit in the first place.

Signed-off-by: Steve Kuznetsov <[email protected]>

* Don't warn on PodInitializing errors for deck /logs

Signed-off-by: Steve Kuznetsov <[email protected]>

* Show the coverage numbers in the testgrid cells.

* escape html tag in spyglass readme

* pass bucket name as argument instead of reading it from GCS

* Add build controller, build at each commit

* let gke presubmit jobs grab projects from boskos

* Set build to v20181204-b6b53d02b

* add 1.12 presubmit to kind

* Bump prow from v20181203-6a1345b to v20181204-6f73ef6

* Reduce jitter factor in nodekiller even more.

* adding overrides to clusterloader2 ci job config

* fix $ARTIFACTS example

 $ARTIFACTS is a directory, one cannot redirect output into it.

* Ensure correct blocking presubmit state on config reload

A new component, the `status-reconciler`, is created that subscribes to
changes in the Prow configuration in order to ensure that changes to the
configuration do not cause pull requests in flight to get stuck in the
Tide queues. In order to do this, the controller determines if any
changes to the configuration edit the set of blocking presubmits for any
repo. There are three types of change, for each of which the
`status-reconciler` will make the appropriate action:

 - a new blocking presubmit context is added; a ProwJob is created for
   every trusted pull request in flight to populate the new status
 - a current blocking presubmit is removed; the GitHub statuses on any
   pull requests in flight are updated to mark the status as retired
 - a current blocking presubmit is migrated to a new status; the GitHub
   statuses on any pull requests in flight are updated to mark the new
   status that was migrated to

Signed-off-by: Steve Kuznetsov <[email protected]>

* sig-storage: initial config for kubernetes-csi/csi-lib-utils

kubernetes-csi/csi-lib-utils is a brand-new stand-alone repo with some
Go utility package (one at the moment, more to come). "make test"
inside it enforces coding style and that unit tests pass, which is
something that we want to ensure before merging any PR.

This is the first config for kubernetes-csi, hence the new OWNERS file.

Fixes: kubernetes-csi/csi-lib-utils#2

* Use PodUtils in cloud-provider-aws

* Include credentials when making lens requests.

* don't fail the job when upload fails

* refer e2e scripts from main repo instead of personal repo

* Add side-effect import to allow for plugin config load

When loading the plugin configuration, all of the plugins must be
side-effect imported into the binary so that they will all be linked and
will be able to self-register for configuration validation at load-time.

Signed-off-by: Steve Kuznetsov <[email protected]>

* sig-storage: fix csi-lib-utils config

The key was wrong (must not include github.com), therefore the job
wasn't triggered.

* kubetest/eks: mkdir before downloading binaries

Signed-off-by: Gyuho Lee <[email protected]>

* config/jobs/kubernetes/sig-aws: use 0.1.4 for "aws-k8s-tester"

Signed-off-by: Gyuho Lee <[email protected]>

* escape branch names

* Update plugins to latest
pohly pushed a commit to pohly/csi-lib-utils that referenced this issue Jan 24, 2019
README.md: fix repo URL for initial setup
k8s-ci-robot pushed a commit that referenced this issue Feb 7, 2019
connection: replace glog with klog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants