Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌱 Update RELEASE.md process for release branches #1228

Merged
merged 1 commit into from
Apr 29, 2022

Conversation

mdbooth
Copy link
Contributor

@mdbooth mdbooth commented Apr 28, 2022

Lessons learned from v0.6.0.

/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 28, 2022
@netlify
Copy link

netlify bot commented Apr 28, 2022

Deploy Preview for kubernetes-sigs-cluster-api-openstack ready!

Name Link
🔨 Latest commit 5ba708d
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-sigs-cluster-api-openstack/deploys/626ba3b79b11f600095303e7
😎 Deploy Preview https://deploy-preview-1228--kubernetes-sigs-cluster-api-openstack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Apr 28, 2022
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mdbooth

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 28, 2022
Copy link
Contributor

@mandre mandre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The refreshed process looks good after watching Matt go through the release process yesterday. Just a quick question about steps order.

1. Create an annotated tag
- `git tag -s -a $VERSION -m $VERSION`.
1. Push the tag to the GitHub repository:
> NOTE: `upstream` should be the name of the remote pointing to `github.com/kubernetes-sigs/cluster-api-provider-openstack`
- `git push upstream $VERSION`
1. Run `make release` to build artifacts (the image is automatically built by CI)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we recommend producing the artifacts and release notes while waiting for the image to build?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This process is actually already doing that, although you've reminded me that I was confused about which step actually kicks off the build. I'm going document that the image build was kicked off automatically when we pushed the tag.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Step 7 triggers the image build, while in step 8 we expect to have the image ready. We could do plenty of other things while the image is building. I was suggesting we move step 8 to a later stage, it could even be the last step before publishing the release IIUC.
Not really a big deal though as it doesn't take that long to build the image, and engineers will likely know when they can skip ahead.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when I do previous releases I actually wait for the image ready and create promote then notify folks to review
and in the mean time do the other release stuff concurrently

@mdbooth mdbooth force-pushed the release-docs branch 2 times, most recently from 2d75677 to 013482a Compare April 28, 2022 10:49
Copy link
Member

@apricote apricote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Content is looking good, I have two small nits

RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated
1. Follow the [image promotion process](https://github.com/kubernetes/k8s.io/tree/main/k8s.gcr.io#image-promoter) to promote the image from the staging repo to `k8s.gcr.io/capi-openstack`.
The staging repository can be inspected at https://console.cloud.google.com/gcr/images/k8s-staging-capi-openstack/GLOBAL. Be
sure to choose the top level `capi-openstack-controller`, which will provide the multi-arch manifest, rather than one for a specific architecture.
The image build logs are available at [Cloud Build](https://console.cloud.google.com/cloud-build/builds?project=k8s-staging-capi-openstack).
Add the new sha=>tag mapping to the [images.yaml](https://github.com/kubernetes/k8s.io/edit/main/k8s.gcr.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/edit/main/k8s.gcr.io/images/k8s-staging-capi-openstack/images.yaml) must be approved in the [OWNERS](https://github.com/kubernetes/k8s.io/blob/main/k8s.gcr.io/images/k8s-staging-capi-openstack/OWNERS) file and merged.
1. Create a draft release in GitHub based on the tag created above
1. Run `make release` to build artifacts to be attached to the GitHub release.
1. Generate and finalize the release notes and add them to the draft release:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't add the release notes to the draft release that is only created in the next step.

- 1. Generate and finalize the release notes and add them to the draft release:
+ 1. Generate and finalize the release notes and save them for the next step:

- `beta` for a beta release
- `rc` for a release candidate
and an additional index starting at 0. This takes the form: `vX.Y.Z-[suffix].N`. e.g. the first release candidate prior
to version 1.2.3 would be called `v1.2.3-rc.0`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, we don't use rc before as far as I can tell

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably only important when making a new release branch.

1. Create an annotated tag
- `git tag -s -a $VERSION -m $VERSION`.
1. Push the tag to the GitHub repository:
> NOTE: `upstream` should be the name of the remote pointing to `github.com/kubernetes-sigs/cluster-api-provider-openstack`
- `git push upstream $VERSION`
1. Run `make release` to build artifacts (the image is automatically built by CI)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when I do previous releases I actually wait for the image ready and create promote then notify folks to review
and in the mean time do the other release stuff concurrently

Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
@mdbooth
Copy link
Contributor Author

mdbooth commented Apr 29, 2022

@jichenjc I added a note about not needing to wait for image promotion.

@jichenjc
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 29, 2022
@apricote
Copy link
Member

/lgtm

@mdbooth
Copy link
Contributor Author

mdbooth commented Apr 29, 2022

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 29, 2022
@k8s-ci-robot k8s-ci-robot merged commit 6e008c8 into kubernetes-sigs:main Apr 29, 2022
@stephenfin stephenfin deleted the release-docs branch October 26, 2022 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants