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

Adding an issue template for cutting new releases #120

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/new-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
name: Cut a release
about: Create a tracking issue for a release cut
title: Cut v0.x.y release
labels: sig/windows
---

## Release Checklist

The release process is documented [HERE](../../RELEASE.md)!

- [ ] Create a new draft [release](https://github.com/kubernetes-sigs/windows-gmsa/releases/new)
- [ ] Create a new tag targeting `master`
- [ ] Generate release notes
- [ ] Set as pre-release (until images are promoted and helm charts updated)
- [ ] Publish the pre-release

- [ ] Promote the `admission-webhook` image
- [ ] Manually tag desired container image in the [staging registry](https://console.cloud.google.com/gcr/images/k8s-staging-gmsa-webhook/GLOBAL)
- [ ] Use `kpromo` to open a image promo PR

```bash
export GITHUB_TOKEN=<your github token>
kpromo pr --project gmsa-webhook --tag $VERSION --reviewers "@jayunit100 @jsturtevant @marosset" --fork {your github username}

```
- [ ] Verify the image is available using `docker pull registry.k8s.io/gmsa-webhook/k8s-gmsa-webhook:$VERSION`

- [ ] Update helm charts to use new image
- [ ] Update [Chart.yaml](../../charts/gmsa/Chart.yaml)
- [ ] Update `appVersion` to match the latest published container image
- [ ] Bump the `version` as appropriate
- [ ] Update [values.yaml](../../charts/gmsa/values.yaml)
- Update `image.tag` to match the latest published container image
- [ ] Build a helm package

```bash
helm package charts/gmsa --destination ./charts/repo
```
- [ ] Update the repo index

```bash
helm repo index charts/repo/
```

- [ ] Update the **IMAGE_NAME** variable in `admission_webhook/deploy/gmsa-webhook.sh` to use the latest image

- [ ] Update the release notes by adding the following template **to the top of the release notes**:

To deploy:

```bash
K8S_GMSA_DEPLOY_DOWNLOAD_REV='$VERSION' \
./deploy-gmsa-webhook.sh --file ./gmsa-manifests \
--image registry.k8s.io/gmsa-webhook/k8s-gmsa-webhook:$VERSION
```

- [ ] Update the release
- [ ] Unset `Set as pre-release`
- [ ] Set `Set as latest release`
- [ ] Update the release

- [ ] Send an announce email to `[email protected]` with the subject `[ANNOUNCE] Kubernetes SIG-Windows GMSA Webhook $VERSION is Released`

- [ ] Post new release in slack
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The Kubernetes Windows GMSA project is released on an as-needed basis. The process is as follows:

1. An issue is created proposing a new release with a changelog since the last release
1. An issue is created proposing a new release with a changelog since the last release using the [Cut a release issue template](.github//ISSUE_TEMPLATE/new-release.md)
1. All [OWNERS](OWNERS) must LGTM this release issue
1. An OWNER runs `git tag -s $VERSION` from `master` branch and pushes the tag with `git push $VERSION`
1. An OWNER promotes the `gcr.io/k8s-staging-gmsa-webhook/k8s-gmsa-webhook` image built the tagged commit.
Expand Down