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

Use istio prowgen to generate Prow jobs #3175

Merged
merged 1 commit into from
Mar 23, 2022

Conversation

chizhg
Copy link
Member

@chizhg chizhg commented Mar 22, 2022

Which issue(s) this PR fixes:

Fixes #2986

This PR is a huge overhaul of all the Prow job and TestGrid config files, as well as the config generation process. The most important change is replacing the gigantic bespoke config-generator tool with a more lightweight tool, and the README is at https://github.com/chizhg/test-infra/blob/e96e34f0816b9d4c58d0f832656233e9f0ad6f2f/tools/configgen/README.md

This PR is probably too large to be feasible for reviewing, but I don't have a good approach to break it down. Since I'm confident the major flow is not broken, and I'm pretty sure it's much much better than the previous tool, I would suggest us merging it for now and iterating on it with follow-up PRs.

/cc @kvmware @upodroid

@knative-prow-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: chizhg

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow-robot knative-prow-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Mar 22, 2022
@chizhg chizhg force-pushed the migrate-to-prowgen branch 7 times, most recently from b3782e9 to ef0121e Compare March 22, 2022 08:21
@krsna-m
Copy link
Contributor

krsna-m commented Mar 22, 2022

+965,521 −62,832 is a little worrisome. I notice that there is lots more go vendored packages being pulled in. Why so much more things? 900 thousand! more things?

EDIT: Does not seem like a more lightweight tool.

@chizhg
Copy link
Member Author

chizhg commented Mar 22, 2022

+965,521 −62,832 is a little worrisome. I notice that there is lots more go vendored packages being pulled in. Why so much more things? 900 thousand! more things?

EDIT: Does not seem like a more lightweight tool.

Most of the files were go vendored packages since I added iistio.io/test-infra/tools/prowgen as a dependency which introduced a number of indirect dependencies, also since we run go mod vendor for this repo so the vendored files had to be added.

I just moved it to a separate Go module and removed the vendored packages, now this PR should be much smaller.

@chizhg
Copy link
Member Author

chizhg commented Mar 22, 2022

Also created knative/infra#134 for tracking the potential future work to get rid of go mod vendor.

@krsna-m
Copy link
Contributor

krsna-m commented Mar 22, 2022

lgtm
@evankanderson brought up this point with google groups work on an earlier PR and I think it applies here to. Is there a way for us just to use the tool (released version) instead of building it?

@chizhg
Copy link
Member Author

chizhg commented Mar 22, 2022

lgtm @evankanderson brought up this point with google groups work on an earlier PR and I think it applies here to. Is there a way for us just to use the tool (released version) instead of building it?

We can build it into a Docker image and publish it to GCR with a postsubmit Prow job, then this tool can be used elsewhere, but I don't think it simplifies things unless we enable in-repo configs for every Knative repo, see #2311, since the only place we need this tool is knative/test-infra (or knative/infra after we move the config files).

@upodroid
Copy link
Member

Why don't you consume the code at https://github.com/istio/test-infra/tree/master/tools/prowgen directly?

Something like this:

go install istio.io/test-infra/tools/[email protected]
prowgen --foo=bar something

@chizhg
Copy link
Member Author

chizhg commented Mar 22, 2022

Why don't you consume the code at https://github.com/istio/test-infra/tree/master/tools/prowgen directly?

Something like this:

go install istio.io/test-infra/tools/[email protected]
prowgen --foo=bar something

The major reason is for Knative Prow config generation, there is some specific logic that is not generalized and is only for Knative, e.g. automatically calculating and generating cron schedules for periodic Prow jobs. To inject this logic, we need custom preprocessor to the meta config files which needs to be implemented by importing the structs defined in https://github.com/istio/test-infra/blob/master/tools/prowgen/pkg/spec/spec.go.

Since for the above reason, we already imports the istio.io/test-infra repo, it would be better to call the prowgen tool as a library to keep the version consistent.

@krsna-m
Copy link
Contributor

krsna-m commented Mar 23, 2022

/lgtm

@knative-prow-robot knative-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Mar 23, 2022
@knative-prow-robot knative-prow-robot merged commit 0656566 into knative:main Mar 23, 2022
@knative-prow-robot
Copy link
Collaborator

@chizhg: Updated the job-config configmap in namespace default at cluster default using the following files:

  • key config.yaml using file ``
  • key async-component-main.gen.yaml using file prow/jobs/generated/knative-sandbox/async-component-main.gen.yaml
  • key container-freezer-main.gen.yaml using file prow/jobs/generated/knative-sandbox/container-freezer-main.gen.yaml
  • key discovery-main.gen.yaml using file prow/jobs/generated/knative-sandbox/discovery-main.gen.yaml
  • key eventing-autoscaler-keda-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-autoscaler-keda-main.gen.yaml
  • key eventing-autoscaler-keda-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-autoscaler-keda-release-1.0.gen.yaml
  • key eventing-autoscaler-keda-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-autoscaler-keda-release-1.1.gen.yaml
  • key eventing-autoscaler-keda-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-autoscaler-keda-release-1.2.gen.yaml
  • key eventing-autoscaler-keda-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-autoscaler-keda-release-1.3.gen.yaml
  • key eventing-awssqs-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-awssqs-main.gen.yaml
  • key eventing-awssqs-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-awssqs-release-1.0.gen.yaml
  • key eventing-awssqs-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-awssqs-release-1.1.gen.yaml
  • key eventing-awssqs-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-awssqs-release-1.2.gen.yaml
  • key eventing-ceph-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-ceph-main.gen.yaml
  • key eventing-ceph-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-ceph-release-1.0.gen.yaml
  • key eventing-ceph-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-ceph-release-1.1.gen.yaml
  • key eventing-ceph-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-ceph-release-1.2.gen.yaml
  • key eventing-ceph-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-ceph-release-1.3.gen.yaml
  • key eventing-couchdb-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-couchdb-main.gen.yaml
  • key eventing-couchdb-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-couchdb-release-1.0.gen.yaml
  • key eventing-couchdb-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-couchdb-release-1.1.gen.yaml
  • key eventing-github-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-github-main.gen.yaml
  • key eventing-github-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-github-release-1.0.gen.yaml
  • key eventing-github-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-github-release-1.1.gen.yaml
  • key eventing-github-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-github-release-1.2.gen.yaml
  • key eventing-github-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-github-release-1.3.gen.yaml
  • key eventing-gitlab-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-gitlab-main.gen.yaml
  • key eventing-gitlab-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-gitlab-release-1.0.gen.yaml
  • key eventing-gitlab-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-gitlab-release-1.1.gen.yaml
  • key eventing-gitlab-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-gitlab-release-1.2.gen.yaml
  • key eventing-gitlab-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-gitlab-release-1.3.gen.yaml
  • key eventing-kafka-broker-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-broker-main.gen.yaml
  • key eventing-kafka-broker-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-broker-release-1.0.gen.yaml
  • key eventing-kafka-broker-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-broker-release-1.1.gen.yaml
  • key eventing-kafka-broker-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-broker-release-1.2.gen.yaml
  • key eventing-kafka-broker-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-broker-release-1.3.gen.yaml
  • key eventing-kafka-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-main.gen.yaml
  • key eventing-kafka-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-release-1.0.gen.yaml
  • key eventing-kafka-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-release-1.1.gen.yaml
  • key eventing-kafka-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-release-1.2.gen.yaml
  • key eventing-kafka-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kafka-release-1.3.gen.yaml
  • key eventing-kogito-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kogito-main.gen.yaml
  • key eventing-kogito-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kogito-release-1.0.gen.yaml
  • key eventing-kogito-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kogito-release-1.1.gen.yaml
  • key eventing-kogito-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kogito-release-1.2.gen.yaml
  • key eventing-kogito-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-kogito-release-1.3.gen.yaml
  • key eventing-natss-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-natss-main.gen.yaml
  • key eventing-natss-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-natss-release-1.0.gen.yaml
  • key eventing-natss-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-natss-release-1.1.gen.yaml
  • key eventing-natss-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-natss-release-1.2.gen.yaml
  • key eventing-natss-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-natss-release-1.3.gen.yaml
  • key eventing-rabbitmq-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-rabbitmq-main.gen.yaml
  • key eventing-rabbitmq-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-rabbitmq-release-1.0.gen.yaml
  • key eventing-rabbitmq-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-rabbitmq-release-1.1.gen.yaml
  • key eventing-rabbitmq-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-rabbitmq-release-1.2.gen.yaml
  • key eventing-rabbitmq-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-rabbitmq-release-1.3.gen.yaml
  • key eventing-redis-main.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-redis-main.gen.yaml
  • key eventing-redis-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-redis-release-1.0.gen.yaml
  • key eventing-redis-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-redis-release-1.1.gen.yaml
  • key eventing-redis-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-redis-release-1.2.gen.yaml
  • key eventing-redis-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/eventing-redis-release-1.3.gen.yaml
  • key kn-plugin-admin-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-admin-main.gen.yaml
  • key kn-plugin-admin-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-admin-release-1.0.gen.yaml
  • key kn-plugin-admin-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-admin-release-1.1.gen.yaml
  • key kn-plugin-admin-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-admin-release-1.2.gen.yaml
  • key kn-plugin-admin-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-admin-release-1.3.gen.yaml
  • key kn-plugin-diag-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-diag-main.gen.yaml
  • key kn-plugin-event-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-event-main.gen.yaml
  • key kn-plugin-event-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-event-release-1.0.gen.yaml
  • key kn-plugin-event-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-event-release-1.1.gen.yaml
  • key kn-plugin-event-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-event-release-1.2.gen.yaml
  • key kn-plugin-event-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-event-release-1.3.gen.yaml
  • key kn-plugin-func-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-func-main.gen.yaml
  • key kn-plugin-migration-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-migration-main.gen.yaml
  • key kn-plugin-operator-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-operator-main.gen.yaml
  • key kn-plugin-quickstart-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-quickstart-main.gen.yaml
  • key kn-plugin-quickstart-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-quickstart-release-1.0.gen.yaml
  • key kn-plugin-quickstart-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-quickstart-release-1.1.gen.yaml
  • key kn-plugin-quickstart-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-quickstart-release-1.2.gen.yaml
  • key kn-plugin-quickstart-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-quickstart-release-1.3.gen.yaml
  • key kn-plugin-sample-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-sample-main.gen.yaml
  • key kn-plugin-service-log-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-service-log-main.gen.yaml
  • key kn-plugin-source-kafka-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kafka-main.gen.yaml
  • key kn-plugin-source-kafka-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kafka-release-1.0.gen.yaml
  • key kn-plugin-source-kafka-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kafka-release-1.1.gen.yaml
  • key kn-plugin-source-kafka-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kafka-release-1.2.gen.yaml
  • key kn-plugin-source-kafka-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kafka-release-1.3.gen.yaml
  • key kn-plugin-source-kamelet-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kamelet-main.gen.yaml
  • key kn-plugin-source-kamelet-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kamelet-release-1.0.gen.yaml
  • key kn-plugin-source-kamelet-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kamelet-release-1.1.gen.yaml
  • key kn-plugin-source-kamelet-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kamelet-release-1.2.gen.yaml
  • key kn-plugin-source-kamelet-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/kn-plugin-source-kamelet-release-1.3.gen.yaml
  • key kperf-main.gen.yaml using file prow/jobs/generated/knative-sandbox/kperf-main.gen.yaml
  • key net-certmanager-main.gen.yaml using file prow/jobs/generated/knative-sandbox/net-certmanager-main.gen.yaml
  • key net-certmanager-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/net-certmanager-release-1.0.gen.yaml
  • key net-certmanager-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/net-certmanager-release-1.1.gen.yaml
  • key net-certmanager-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/net-certmanager-release-1.2.gen.yaml
  • key net-certmanager-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/net-certmanager-release-1.3.gen.yaml
  • key net-contour-main.gen.yaml using file prow/jobs/generated/knative-sandbox/net-contour-main.gen.yaml
  • key net-contour-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/net-contour-release-1.0.gen.yaml
  • key net-contour-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/net-contour-release-1.1.gen.yaml
  • key net-contour-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/net-contour-release-1.2.gen.yaml
  • key net-contour-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/net-contour-release-1.3.gen.yaml
  • key net-gateway-api-main.gen.yaml using file prow/jobs/generated/knative-sandbox/net-gateway-api-main.gen.yaml
  • key net-gateway-api-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/net-gateway-api-release-1.1.gen.yaml
  • key net-gateway-api-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/net-gateway-api-release-1.2.gen.yaml
  • key net-gateway-api-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/net-gateway-api-release-1.3.gen.yaml
  • key net-http01-main.gen.yaml using file prow/jobs/generated/knative-sandbox/net-http01-main.gen.yaml
  • key net-http01-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/net-http01-release-1.0.gen.yaml
  • key net-http01-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/net-http01-release-1.1.gen.yaml
  • key net-http01-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/net-http01-release-1.2.gen.yaml
  • key net-http01-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/net-http01-release-1.3.gen.yaml
  • key net-istio-main.gen.yaml using file prow/jobs/generated/knative-sandbox/net-istio-main.gen.yaml
  • key net-istio-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/net-istio-release-1.0.gen.yaml
  • key net-istio-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/net-istio-release-1.1.gen.yaml
  • key net-istio-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/net-istio-release-1.2.gen.yaml
  • key net-istio-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/net-istio-release-1.3.gen.yaml
  • key net-kourier-main.gen.yaml using file prow/jobs/generated/knative-sandbox/net-kourier-main.gen.yaml
  • key net-kourier-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/net-kourier-release-1.0.gen.yaml
  • key net-kourier-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/net-kourier-release-1.1.gen.yaml
  • key net-kourier-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/net-kourier-release-1.2.gen.yaml
  • key net-kourier-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/net-kourier-release-1.3.gen.yaml
  • key reconciler-test-main.gen.yaml using file prow/jobs/generated/knative-sandbox/reconciler-test-main.gen.yaml
  • key sample-controller-main.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-controller-main.gen.yaml
  • key sample-controller-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-controller-release-1.0.gen.yaml
  • key sample-controller-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-controller-release-1.1.gen.yaml
  • key sample-controller-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-controller-release-1.2.gen.yaml
  • key sample-controller-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-controller-release-1.3.gen.yaml
  • key sample-source-main.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-source-main.gen.yaml
  • key sample-source-release-1.0.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-source-release-1.0.gen.yaml
  • key sample-source-release-1.1.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-source-release-1.1.gen.yaml
  • key sample-source-release-1.2.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-source-release-1.2.gen.yaml
  • key sample-source-release-1.3.gen.yaml using file prow/jobs/generated/knative-sandbox/sample-source-release-1.3.gen.yaml
  • key caching-main.gen.yaml using file prow/jobs/generated/knative/caching-main.gen.yaml
  • key client-main.gen.yaml using file prow/jobs/generated/knative/client-main.gen.yaml
  • key client-pkg-main.gen.yaml using file prow/jobs/generated/knative/client-pkg-main.gen.yaml
  • key client-release-1.0.gen.yaml using file prow/jobs/generated/knative/client-release-1.0.gen.yaml
  • key client-release-1.1.gen.yaml using file prow/jobs/generated/knative/client-release-1.1.gen.yaml
  • key client-release-1.2.gen.yaml using file prow/jobs/generated/knative/client-release-1.2.gen.yaml
  • key client-release-1.3.gen.yaml using file prow/jobs/generated/knative/client-release-1.3.gen.yaml
  • key docs-main.gen.yaml using file prow/jobs/generated/knative/docs-main.gen.yaml
  • key eventing-main.gen.yaml using file prow/jobs/generated/knative/eventing-main.gen.yaml
  • key eventing-release-1.0.gen.yaml using file prow/jobs/generated/knative/eventing-release-1.0.gen.yaml
  • key eventing-release-1.1.gen.yaml using file prow/jobs/generated/knative/eventing-release-1.1.gen.yaml
  • key eventing-release-1.2.gen.yaml using file prow/jobs/generated/knative/eventing-release-1.2.gen.yaml
  • key eventing-release-1.3.gen.yaml using file prow/jobs/generated/knative/eventing-release-1.3.gen.yaml
  • key hack-main.gen.yaml using file prow/jobs/generated/knative/hack-main.gen.yaml
  • key networking-main.gen.yaml using file prow/jobs/generated/knative/networking-main.gen.yaml
  • key operator-main.gen.yaml using file prow/jobs/generated/knative/operator-main.gen.yaml
  • key operator-release-1.0.gen.yaml using file prow/jobs/generated/knative/operator-release-1.0.gen.yaml
  • key operator-release-1.1.gen.yaml using file prow/jobs/generated/knative/operator-release-1.1.gen.yaml
  • key operator-release-1.2.gen.yaml using file prow/jobs/generated/knative/operator-release-1.2.gen.yaml
  • key operator-release-1.3.gen.yaml using file prow/jobs/generated/knative/operator-release-1.3.gen.yaml
  • key pkg-main.gen.yaml using file prow/jobs/generated/knative/pkg-main.gen.yaml
  • key serving-main.gen.yaml using file prow/jobs/generated/knative/serving-main.gen.yaml
  • key test-infra-main.gen.yaml using file prow/jobs/generated/knative/test-infra-main.gen.yaml

In response to this:

Which issue(s) this PR fixes:

Fixes #2986

This PR is a huge overhaul of all the Prow job and TestGrid config files, as well as the config generation process. The most important change is replacing the gigantic bespoke config-generator tool with a more lightweight tool, and the README is at https://github.com/chizhg/test-infra/blob/e96e34f0816b9d4c58d0f832656233e9f0ad6f2f/tools/configgen/README.md

This PR is probably too large to be feasible for reviewing, but I don't have a good approach to break it down. Since I'm confident the major flow is not broken, and I'm pretty sure it's much much better than the previous tool, I would suggest us merging it for now and iterating on it with follow-up PRs.

/cc @kvmware @upodroid

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.

krsna-m added a commit to krsna-m/test-infra that referenced this pull request Mar 23, 2022
knative-prow-robot pushed a commit that referenced this pull request Mar 23, 2022
* Revert "Use istio prowgen to generate Prow jobs (#3175)"

This reverts commit 0656566.

* make linter happy
chizhg added a commit that referenced this pull request Mar 23, 2022
chizhg added a commit that referenced this pull request Mar 23, 2022
knative-prow-robot pushed a commit that referenced this pull request Mar 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use the Istio Prow config generator tool, and deprecate the bespoke Knative tool
4 participants