- Find the latest release. For example,
v3.5.0
. - Increment the version according to semantic versioning https://semver.org/. For example,
v3.5.1
for bug fixes or updated images,v3.6.0
for minor changes,v4.0.0
for major changes. - Find or create the corresponding release branch that corresponds to a minor version. For example, for
v3.5.1
, the release branch would berelease-3.5
and it would already exist. Forv3.6.0
, it would berelease-3.6
and the branch needs to be created. If you do not have permission to create the branch, ask the OWNERS.
Checkout the release branch you chose above, for example, git checkout release-3.5
.
- Search for any references to the previous version on the README and update them if necessary.
- Update the CSI Specification Compatibility Matrix section with the new version.
- Edit the driver version in kustomization.yaml with the release version.
- Update any side car versions if required.
At this point, you should have all the changes required for the release commit. Verify the changes via git diff and send a new PR with the commit against the release branch.
Once the PR is merged, tag the release commit with the release tag. You can do this locally to push the tag or use GitHub to create the release tag. You'll need push privileges for this step.
- Once you create a release, the new image will appear at the Google Artifact Registry.
- Click on the release image and capture the
Digest
from the overview tab. For example,sha256:e9a1de089253f137c19d7414ac17c99ff7cc508473a8f12e0910c580dcc70a57
. - Create a PR to add the new release version with the above image digest to the registry.k8s.io/images/k8s-staging-cloud-provider-ibm/images.yaml file.
- Once the PR is merged, verify that the new image is listed at the registry.k8s.io Container Registry.
Checkout the main branch git checkout main
.
- Update the CSI Specification Compatibility Matrix section with the new version.
- Edit the driver version in kustomization.yaml with the new release version.
- Update any side car versions if required.
Create a new PR with the commit against the main branch.
The README and kustomize deployment files must not be updated to refer to the new image until the image has been verified and is available. It is necessary to make these changes in a post-release PR rather than the original release PR.