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

[release-0.20] 📖 update release process doc #3010

Merged
merged 1 commit into from
Sep 25, 2023
Merged
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
53 changes: 3 additions & 50 deletions docs/content/developers/publishing-a-new-kcp-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ kcp has 2 go modules, and a unique tag is needed for each module every time we c
git tag --sign --message "$TAG" "$TAG" "$REF"
```

3. Tag the `pkg/sdk` module, following the same logic as above for `REF` and `TAG`
3. Tag the `sdk` module, following the same logic as above for `REF` and `TAG`

```shell
REF=upstream/main
TAG=v1.2.3
git tag --sign --message "pkg/sdk/$TAG" "pkg/sdk/$TAG" "$REF"
git tag --sign --message "sdk/$TAG" "sdk/$TAG" "$REF"
```
### Push the tags

```shell
REMOTE=upstream
TAG=v1.2.3
git push "$REMOTE" "$TAG" "pkg/sdk/$TAG"
git push "$REMOTE" "$TAG" "sdk/$TAG"
```

## If it's a new minor version
Expand All @@ -69,53 +69,6 @@ git checkout -b "release-$VERSION" "$REF"
git push "$REMOTE" "release-$VERSION"
```

### Configure prow for the new release branch

1. Make sure you have [openshift/release](https://github.com/openshift/release/) cloned
2. Create a new branch
3. Copy `ci-operator/config/kcp-dev/kcp/kcp-dev-kcp-main.yaml` to `ci-operator/config/kcp-dev/kcp/kcp-dev-kcp-release-<version>.yaml`
4. Edit the new file
1. Change `main` to the name of the release branch, such as `release-0.8`

```yaml
zz_generated_metadata:
branch: main
```

2. Change `latest` to the name of the release branch

```yaml
promotion:
namespace: kcp
tag: latest
tag_by_commit: true
```

5. Edit `core-services/prow/02_config/kcp-dev/kcp/_prowconfig.yaml`
1. Copy the `main` branch configuration to a new `release-x.y` entry
6. Run `make update`
7. Add the new/updated files and commit your changes
8. Push your branch to your fork
9. Open a pull request
10. Wait for it to be reviewed and merged

### Update testgrid

1. Make sure you have a clone of [kubernetes/test-infra](https://github.com/kubernetes/test-infra/)
2. Edit config/testgrids/kcp/kcp.yaml
1. In the `test_groups` section:
1. Copy all the entries under `# main` to the bottom of the map
2. Rename `-main-` to `-release-<version>-`
2. In the `dashboard_groups` section:
1. Add a new entry under `dashboard_names` for `kcp-release-<version>`
3. In the `dashboards` section:
1. Copy the `kcp-main` entry, including `dashboard_tab` and all its entries, to a new entry called `kcp-release-<version>`
2. Rename `main` to `release-<version>` in the new entry
3. Commit your changes
4. Push your branch to your fork
5. Open a pull request
6. Wait for it to be reviewed and merged

## Review/edit/publish the release in GitHub

The [goreleaser](https://github.com/kcp-dev/kcp/actions/workflows/goreleaser.yml) workflow automatically creates a draft GitHub release for each tag.
Expand Down