zulip/docs/subsystems/release-checklist.md
David Rosa Tamsen 7072fa5b37 docs: Reorganize developer docs to improve navigation.
This commit helps reduce clutter on the navigation sidebar.
Creates new directories and moves relevant files into them.
Modifies index.rst, symlinks, and image paths accordingly.

This commit also enables expandable/collapsible navigation items,
renames files in docs/development and docs/production,
modifies /tools/test-documentation so that it overrides a theme setting,
Also updates links to other docs, file paths in the codebase that point
to developer documents, and files that should be excluded from lint tests.

Note that this commit does not update direct links to
zulip.readthedocs.io in the codebase; those will be resolved in an
upcoming follow-up commit (it'll be easier to verify all the links
once this is merged and ReadTheDocs is updated).

Fixes #5265.
2017-11-16 09:45:08 -08:00

1.9 KiB

Zulip server release checklist

This document has reminders of things one might forget to do when preparing a new release.

A week before the release

  • Upgrade all Python dependencies in requirements to latest upstream versions so they can burn in (use pip list --outdated).
  • Update all the strings on Transifex and notify translators that they should translate the new strings to get them in for the next release.
  • Update changelog.md with major changes going into the release.
  • Create a burndown list of bugs that need to be fixed before we can release, and make sure all of them are being worked on.

Final release preparation

  • Update changelog.md with any final changes since the last update.
  • Draft the release notes; see previous zulip-announce emails for the tooling needed.
  • Download updated translation strings from Transifex and commit them.
  • Use build-release-tarball to generate a release tarball.
  • Test the new tarball extensively, both new install and upgrade from last release, on both Trusty and Xenial.
  • Repeat until release is ready.

Executing the release

  • Do final updates to changelog.md.
  • Update ZULIP_VERSION in version.py.
  • Update version and/or release in docs/conf.py (ReadTheDocs meta tags).
  • Use build-release-tarball to generate a final release tarball.
  • Post the release tarball on zulip.org and update zulip.org.
  • Add the sha256sum of the release to the file SHA256SUMS.txt in https://www.zulip.org/dist/releases/
  • Create a git tag and push the tag.
  • Upload the release on GitHub so it doesn't provide a broken release tarball.
  • Email zulip-announce with the release notes
  • For a major release, post on the blog, tweet, etc.

Post-release

  • Update ZULIP_VERSION in version.py to e.g. 1.6.0+git. Also update docs/conf.py.
  • Consider removing a few old releases from ReadTheDocs.