cluster-api-provider-aws
cluster-api-provider-aws copied to clipboard
Add workflow for regular (nightly or weekly) releases
#4748 automated releases with GoReleaser. We can build on this configuration by making regular releases via another workflow. These could be nightly or weekly, depending on CI availability.
This gives us more regular build signal, and versions that users can test out.
CAPV has weekly automated releases (that don't seem to get published), as does upstream CAPI.
These will need to be generated as pre-release GitHub releases to prevent clusterctl picking them up. So #4927 will need to be fixed first.
/triage accepted /priority important-longterm /area release
One thing that could be tricky here is solving where the container images associated with the release land. We likely will not be able to use kpromo on them, since that will require manual PR approvals.
Another challenge will be cleaning up the images; I don't think we want to keep all of them especially if there are nightly releases. We'll have to decide on how long we'll keep a nightly or weekly around once cut.
+1
We will also need to figure out whether we want to add them as actual draft releases in the Release section of the Repo, or if we can deal with this differently. Also if we end up with doing draft releases, we would probably want to clean these up regularly too.
I would be interested in understanding how CAPV and upstream CAPI deals with this at the moment.
Maybe @sbueringer @chrischdi @fabriziopandini can provide some more details on how the process looks like there.
We don't do actual releases. The GitHub action is just there to ensure the make target keeps working.
What we do though is publishing nightly manifests & images to GCS
Which is also something that CAPA seems to be doing, or at least trying :D
https://github.com/kubernetes/test-infra/blob/ab1fa006a7950afb4ce54f7c2e9bc79b34672ebc/config/jobs/image-pushing/k8s-staging-cluster-api.yaml#L473 https://prow.k8s.io/view/gs/kubernetes-jenkins/logs/cluster-api-provider-aws-push-images-nightly/1782680957447311360
Looked at the log of the jobs: https://storage.googleapis.com/kubernetes-jenkins/logs/cluster-api-provider-aws-push-images-nightly/1782680957447311360/artifacts/build.log
Looks pretty good already. I would just recommend to change the location of the manifests. See: https://github.com/kubernetes-sigs/cluster-api/pull/10489 (we just did the same for CAPV)
I'll mention it in core CAPI office hours tomorrow, if you have some questions that you want to ask directly there.
@sbueringer I see, I didn't know that, thanks a lot!
As you suggested I opened: https://github.com/kubernetes-sigs/cluster-api-provider-aws/pull/4952 to move to the new bucket.
I will open a separate PR to improve the docs on how to use nightlies.
Thanks again!
See https://github.com/kubernetes-sigs/cluster-api/pull/10521 also as we work towards this.
@nrb I think #4952 should take care of both nightly and other branches (releases, main) manifests. Let's try and get that one merge, and we can iterate if that needs more work.