docs: Update release steps.

This commit is contained in:
Alex Vandiver 2022-03-21 23:26:16 -04:00 committed by Tim Abbott
parent f9f111f950
commit ab3196470f
1 changed files with 37 additions and 22 deletions

View File

@ -39,10 +39,10 @@ preparing a new release.
release, on Ubuntu 20.04. release, on Ubuntu 20.04.
- Repeat until release is ready. - Repeat until release is ready.
- Send around the Paper blog post draft for review. - Send around the Paper blog post draft for review.
- Move the blog post draft to Ghost. (For a draft in Dropbox Paper, - Move the blog post draft to Ghost:
use "··· > Export > Markdown" to get a pretty good markup - Use "··· > Export > Markdown" to get a pretty good markdown conversion, then insert that as a Markdown block in Ghost.
conversion.) Proofread the post, especially for formatting. Tag - Proofread, especially for formatting.
the post with "Release announcements" in Ghost. - Tag the post with "Release announcements" _first_, then any other tags (e.g. "Security").
### Executing the release ### Executing the release
@ -50,6 +50,7 @@ preparing a new release.
release branch (for minor releases): release branch (for minor releases):
- Copy the Markdown release notes for the release into - Copy the Markdown release notes for the release into
`docs/overview/changelog.md`. `docs/overview/changelog.md`.
- Verify the changelog passes lint, and has the right release date.
- _Except minor releases:_ Adjust the `changelog.md` heading to have - _Except minor releases:_ Adjust the `changelog.md` heading to have
the stable release series boilerplate. the stable release series boilerplate.
- Update `ZULIP_VERSION` and `LATEST_RELEASE_VERSION` in `version.py`. - Update `ZULIP_VERSION` and `LATEST_RELEASE_VERSION` in `version.py`.
@ -67,23 +68,36 @@ preparing a new release.
for updating DigitalOcean one-click app image. The action uses the latest release for updating DigitalOcean one-click app image. The action uses the latest release
tarball published on `download.zulip.com` for creating the image. tarball published on `download.zulip.com` for creating the image.
- Update the [Docker image](https://github.com/zulip/docker-zulip) and - Update the [Docker image](https://github.com/zulip/docker-zulip):
do a release of that. - Update `ZULIP_GIT_REF` in `Dockerfile`
- Update the image of DigitalOcean one click app using - Update `README.md`
[Fabric](https://github.com/zulip/marketplace-partners) and publish - Update the image in `docker-compose.yml`, as well as the `ZULIP_GIT_REF`
it to DO marketplace. - Update the image in `kubernetes/zulip-rc.yml`
- Build the image: `docker build . -t zulip/docker-zulip:4.11-0 --no-cache`
- Also tag it with `latest`: `docker build . -t zulip/docker-zulip:latest`
- Push those tags: `docker push zulip/docker-zulip:4.11-0; docker push zulip/docker-zulip:latest`
- Update the latest version in [the README in Docker Hub](https://hub.docker.com/repository/docker/zulip/docker-zulip).
- Commit the changes and push them to `main`.
- Publish the blog post; check the box to "send by email." - Publish the blog post; check the box to "send by email."
- Email [zulip-announce](https://groups.google.com/g/zulip-announce), - Announce the release, pointing to the blog post, via:
post to [#announce](https://chat.zulip.org/#narrow/stream/1-announce), - Email to [zulip-announce](https://groups.google.com/g/zulip-announce)
and [send a tweet](https://twitter.com/zulip). - Message in [#announce](https://chat.zulip.org/#narrow/stream/1-announce)
- Tweet from [@zulip](https://twitter.com/zulip).
### Post-release ### Post-release
- Update the CI targets in `.github/workflows/production-suite.yml` to - The DigitalOcean one-click image will report in an internal channel
include upgrades from the most recent point releases from the last once it is built, and how to test it. Verify it, then publish it
two series -- e.g after releasing 4.8, both `main` and `4.x` publish it to DigitalOcean marketplace.
should test upgrades from 3.4 and 4.8, and after releasing 5.0 both - Update the CI targets:
`main` and `5.x` should test upgrades from 4.8 and 5.0. - _For major releases only:_ In all of the following steps, _also_
bump up the series that are being tested.
- Update the version in `tools/ci/build-docker-images`
- Run `tools/ci/build-docker-images`
- Push at least the latest of those, e.g. using `docker push zulip/ci:bullseye-4.11`; update the others at your discretion.
- Update the `docker_image` in the `production_upgrade` step of
`.github/workflows/production-suite.yml`.
- Commit those two changes in a PR.
- Following a major release (e.g. 4.0): - Following a major release (e.g. 4.0):
- Create a release branch (e.g. `4.x`). - Create a release branch (e.g. `4.x`).
- On the release branch, update `ZULIP_VERSION` in `version.py` to - On the release branch, update `ZULIP_VERSION` in `version.py` to
@ -95,8 +109,9 @@ preparing a new release.
number for future Cloud deployments. number for future Cloud deployments.
- Consider removing a few old releases from ReadTheDocs; we keep about - Consider removing a few old releases from ReadTheDocs; we keep about
two years of back-versions. two years of back-versions.
- Following a minor release (e.g. 3.2), on the release branch: - Following a minor release (e.g. 3.2):
- Update `ZULIP_VERSION` to the present release with a `+git` - On the release branch, update `ZULIP_VERSION` to the present
suffix, e.g. `3.2+git`. release with a `+git` suffix, e.g. `3.2+git`.
- Update `LATEST_RELEASE_VERSION` with the released version. - On main, update `LATEST_RELEASE_VERSION` with the released version.
- Cherry-pick the changelog changes back to `main`. - On main, cherry-pick the changelog changes from the release
branch.