Skip to content

Making a release

Peter Eisentraut edited this page May 4, 2023 · 32 revisions

Making a release

Preparation

  • Check out the pgbouncer and pgbouncer.github.io repositories next to each other.
  • Make sure that you can build both pgbouncer and the web site locally.
  • Check that Cirrus CI is building successfully. Build Status

Code changes

  • Update libusual if changes are pending.
  • Update the following files with new version number and date:
    • NEWS.md
    • version number in configure.ac
  • git commit -m 'vX.Y.Z'
  • git tag pgbouncer_X_Y_Z
  • Build the release tarball:
    • manual: git clean -fdx; ./autogen.sh; ./configure; make dist
    • better: The release tarball is built as a CI artifact. Download it from there. (Use the first job, just for consistency.)

Update the web site

  • Copy release tarball into a new directory under downloads/. (This is the canonical location of the release tarball. The GitHub releases feature is secondary.)
  • make doc (This updates _data/downloads.json, changelog.md, and other files, and copies over documentation files from the pgbouncer repository.)
  • Write a release post in _posts.
  • git commit -a -m 'vX.Y.Z' (no tag)
  • When satisfied, push all the changes in both repositories.
  • Make a GitHub release from the tag. (Copy the already Markdown-formatted part of the changelog from NEWS.md. But adjust the line breaks, since GitHub interprets them differently.)
    • To the release, attach the tarball and also the Windows binary zip files built on CI.

Announcements

  • Gitter
  • PostgreSQL web site news (example) (You can write and save a draft ahead of time.)

For consistency, announcements should link to the release post on the web site and use the text from the post.

Clone this wiki locally