You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASE.md
+16-9Lines changed: 16 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@
19
19
A release version string is: `vX.Y.Z`.
20
20
21
21
A pre-release version string additionally has a suffix:
22
+
22
23
-`alpha` for an alpha release
23
24
-`beta` for a beta release
24
25
-`rc` for a release candidate
@@ -45,7 +46,7 @@ There is an [issue template](.github/ISSUE_TEMPLATE/new_release.md) to help trac
45
46
- Clone the repository: `git clone [email protected]:kubernetes-sigs/cluster-api-provider-openstack.git`
46
47
or if using existing repository, make sure origin is set to the fork and
47
48
upstream is set to `kubernetes-sigs`. Verify if your remote is set properly or not
48
-
by using following command `git remote -v`.
49
+
by using following command `git remote -v`, where origin points to fork and upstream points to main repo.
49
50
- Fetch the remote (`kubernetes-sigs`): `git fetch upstream`
50
51
This makes sure that all the tags are accessible.
51
52
@@ -75,8 +76,8 @@ There is an [issue template](.github/ISSUE_TEMPLATE/new_release.md) to help trac
75
76
- The commit and PR title should be 🚀 Release v1.x.y:
76
77
-`git commit -S -s -m ":rocket: Release vX.Y.Z"`
77
78
-`git push -u origin release-notes-X.Y.Z`
78
-
- Important! The commit should only contain the release notes file, nothing
79
-
else, otherwise automation will not work.
79
+
- Important! The `origin` must be directed to the fork (for example: nordix) otherwise it will have error. Also, the commit should only contain
80
+
the release notes file, nothing else, otherwise automation will not work.
80
81
- Ask maintainers and release team members to review your pull request.
81
82
82
83
Once the PR is merged, the following GitHub actions are triggered:
@@ -92,11 +93,13 @@ There is an [issue template](.github/ISSUE_TEMPLATE/new_release.md) to help trac
92
93
93
94
The image will also be automatically built by CI and pushed to the staging repository. As this only builds the image, it only takes a few minutes.
94
95
95
-
1. Follow the [image promotion process](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/README.md#image-promoter) to promote the image from the staging repo to `registry.k8s.io/capi-openstack`.
96
+
1. Follow the [image promotion process](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/README.md#image-promoter)
97
+
to promote the image from the staging repo to `registry.k8s.io/capi-openstack`.
96
98
The staging repository can be inspected at [Staging CAPI Openstack](https://console.cloud.google.com/gcr/images/k8s-staging-capi-openstack/GLOBAL). Be
97
99
sure to choose the top level `capi-openstack-controller`, which will provide the multi-arch manifest, rather than one for a specific architecture.
98
100
The image build logs are available at [Cloud Build](https://console.cloud.google.com/cloud-build/builds?project=k8s-staging-capi-openstack).
99
101
Add the new sha=>tag mapping to the [images.yaml](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/images.yaml) (use the sha of the image with the corresponding tag). The PR to update the [images.yaml](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/images.yaml) must be approved in the [OWNERS](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/OWNERS) file and merged.
102
+
Here is an example [pull request](https://github.com/kubernetes/k8s.io/pull/8807).
100
103
101
104
It is good practise to get somebody else to review this PR. It is safe to perform the following steps while waiting for review and the promotion of the image.
102
105
@@ -122,12 +125,16 @@ There is an [issue template](.github/ISSUE_TEMPLATE/new_release.md) to help trac
122
125
123
126
Releasing requires a particular set of permissions.
124
127
125
-
* Approver role for the image promoter process ([kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/OWNERS](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/OWNERS))
126
-
* Tag push and release creation rights to the GitHub repository (team `cluster-api-provider-openstack-maintainers` in [kubernetes/org/config/kubernetes-sigs/sig-cluster-lifecycle/teams.yaml](https://github.com/kubernetes/org/blob/main/config/kubernetes-sigs/sig-cluster-lifecycle/teams.yaml))
128
+
1. Approver role for the image promoter process ([kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/OWNERS](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-capi-openstack/OWNERS))
129
+
130
+
1. Tag push and release creation rights to the GitHub repository (team `cluster-api-provider-openstack-maintainers` in [kubernetes/org/config/kubernetes-sigs/sig-cluster-lifecycle/teams.yaml](https://github.com/kubernetes/org/blob/main/config/kubernetes-sigs/sig-cluster-lifecycle/teams.yaml))
127
131
128
132
## Staging
129
133
130
134
There is a post-submit Prow job running after each commit on `main` which pushes a new image to the staging repo (`gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:latest`). Following configuration is involved:
* post-submit `post-capi-openstack-push-images` Prow job: [kubernetes/test-infra/blob/master/config/jobs/image-pushing/k8s-staging-cluster-api.yaml](https://github.com/kubernetes/test-infra/blob/master/config/jobs/image-pushing/k8s-staging-cluster-api.yaml) (corresponding dashboard is located at [https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#post-capi-openstack-push-images](https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#post-capi-openstack-push-images))
133
-
* Google Cloud Build configuration which is used by the Prow job: [kubernetes-sigs/cluster-api-provider-openstack/cloudbuild.yaml](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/cloudbuild.yaml)
1. post-submit `post-capi-openstack-push-images` Prow job: [kubernetes/test-infra/blob/master/config/jobs/image-pushing/k8s-staging-cluster-api.yaml](https://github.com/kubernetes/test-infra/blob/master/config/jobs/image-pushing/k8s-staging-cluster-api.yaml) (corresponding dashboard is located at [https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#post-capi-openstack-push-images](https://testgrid.k8s.io/sig-cluster-lifecycle-image-pushes#post-capi-openstack-push-images))
139
+
140
+
1. Google Cloud Build configuration which is used by the Prow job: [kubernetes-sigs/cluster-api-provider-openstack/cloudbuild.yaml](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/cloudbuild.yaml)
0 commit comments