If you do not develop Prow or GHProxy in the kubernetes/test-infra repo and you do not depend on any of their Go packages, you can stop reading now.
We are finally ready to move the Prow (and GHProxy) source code out of kubernetes/test-infra and into the kubernetes-sigs/prow repo! The source code has already been copied there (with commit history) and all ProwJobs have been created and tested except for the container image publishing postsubmit. On April 9th we will make the official switch and kubernetes-sigs/prow will become the source of truth for Prow and GHProxy development and container images will be published from there. From this point on I’ll just refer to "Prow", but this all applies to GHProxy as well.
How this impacts you and what to do:
If you just use Prow or maintain a Prow instance there is nothing you need to do. Container images will still be available (and continue to be released) at gcr.io/k8s-prow/.
If you don't develop Prow itself, but you do rely on its Go packages (via importing the k8s.io/test-infra Go module), after April 9th you'll need to update import statements to be prefixed with 'sigs.k8s.io/prow' rather than 'k8s.io/test-infra'. Because the repo relative paths will remain the same, you can use a sed command like this one to fix any references:
sed -i 's,k8s.io/test-infra/prow,sigs.k8s.io/prow/prow,g;s,k8s.io/test-infra/ghproxy,sigs.k8s.io/prow/ghproxy,g'
Don't forget to run `go mod tidy` afterwards.
If you do develop Prow you'll need to start targeting PRs against the kubernetes-sigs/prow repo instead of kubernetes/test-infra. You would have to manually transfer any open PRs to the new repo by using the `git format-patch` and `git am` commands. You'll also need to update package references as described in the previous bullet point.
Plans for the switch over date (April 9th):
The actual plan for the switch over is as follows:
Delete the Prow container image publishing postsubmit from kubernetes/test-infra and uncomment the config for the corresponding job in kubernetes-sigs/prow.
Make a no-op change to kubernetes-sigs/prow to trigger the container image build and ensure that it succeeds. If there is a problem, we will revert the previous step. If there is no problem we have successfully made the switch and the source of truth for Prow development is now kubernetes-sigs/prow.
The following steps (also for April 9th) will clean up kubernetes/test-infra:
Delete the prow/ and ghproxy/ directories in kubernetes/test-infra to prevent further development.
Delete any other tooling that was only needed for Prow. At this time, the only thing I know of is 'hack/ts-rollup'.
Simplify some 'run_if_changed' expressions that no longer need to reference Prow.
If you have any questions or concerns please speak up on this GitHub issue: https://github.com/kubernetes/test-infra/issues/31728
Thanks!
- Cole Wagner (@cjwagner)
go: k8s.io/test-infra/experiment/bumpmonitoring imports
sigs.k8s.io/prow/prow/cmd/generic-autobumper/bumper: sigs.k8s.io/prow/pr...@v0.0.0-20240126235638-55d887c88e11: parsing go.mod:
module declares its path as: sigs.k8s.io/prow
but was required as: sigs.k8s.io/prow/prow