Alpha release process

From PostgreSQL wiki
Jump to navigationJump to search



Prerequisites

  • Commit fest manager declares commit fest closed
  • Build farm status is green, or failures are adequately explained (if widespread breakage, wait for a few days until fixed)

Naming

  • 8.5alpha1, 8.5alpha2, etc.

Release preparation

In general, src/tools/RELEASE_CHANGES applies. Exact procedure for alpha releases:

  1. Release notes [discussion]
  2. Optional: Update timezone data
  3. Optional: Translation updates (probably not useful for the first or second alpha)
  4. Note down the SHA1 of the head commit, don't tag yet.
  5. Export the tree, e.g.: mkdir ../export; git archive SHA1 | tar -C ../export -x -f -; cd ../export (Steps from here on should be done on developer.postgresql.org, so we get for example a consistent flex version.)
  6. Release version number changes, e.g,.: src/tools/version_stamp.pl alpha2
  7. autoconf (on developer.postgresql.org, see ~petere/sw/ac263 for the appropriate autoconf version)
  8. ./configure
  9. Build the actual release tarball: make distcheck
  10. Create md5 sum files: md5 filename > filename.md5
  11. Ask -hackers to check the tarball for sanity
  12. Upload to ftp server (under ~ftp on developer.postgresql.org)
  13. When the release is final, tag the SHA1: git tag REL9_1_ALPHA2; and push the tag.

Note: Per PGCon 2010 discussion, beginning with 9.1, we will no longer make a branch for each alpha release just to make the version number changes.

Note: It is very important not to introduce any stray files into the working tree created when you export the Git tree. 'make distcheck' is not too smart and may incorporate such files into the release tarball.

Announcing

Update web page: http://www.postgresql.org/developer/alpha

Announce to:

  • PostgreSQL News
  • pgsql-announce

For this one, we don't wait for the binaries to be built before announcing. Just make sure that the source tarballs are in place before the announcements go out. This may take a day or three; doesn't really matter.

ReleasePrep contains notes about how to announce a release, which do not apply in their entirety to the alpha process, but are still worth digesting.