- 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 would need to be created. If you do not have permission to create the branch, ask 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 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 relase tag. You can do this locally to push the tag or use GitHub to create the realease tag. You'll need push privileges for this step.
- Once you create a release the new image will appear at the GCR repo.
- Click on the release image and capture the
Digest
from overview tab. For example,sha256:e9a1de089253f137c19d7414ac17c99ff7cc508473a8f12e0910c580dcc70a57
. - Create a PR to add the new release version with above image digest to the registry.k8s.io/images/k8s-staging-cloud-provider-ibm/images.yaml
- Once the PR is merged, verify that the new image is listed at https://explore.ggcr.dev/?repo=registry.k8s.io%2Fcloud-provider-ibm%2Fibm-powervs-block-csi-driver
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 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 images until after the images have been verified, available, therefore it's necessary to make these changes in a post-release PR rather than the original release PR.