What to do to release pg_repack

This document is the list of operations to do to release a new pg_repack version. The version number in this document is indicated by $VER: it should be a three-digit dot-separated version, eventually followed by a pre-release string: 1.2.0, 1.2.1, 1.2-dev0, 1.2.0-beta1 are valid version numbers.

In order to release the package you will need accounts on Github and PGXN with the right privileges: contact Daniele Varrazzo to obtain them.

  • Set the right version number in META.json (note: it's in two different places).

  • Set the right release_status in META.json: testing or stable.

  • Commit the above metadata changes.

  • Create a package running make package. The package will be called dist/pg_repack-$VER.zip.

  • Verify the packages installs and passes tests with pgxn client:

    pgxn install --sudo -- dist/pg_repack-$VER.zip
    pgxn check dist/pg_repack-$VER.zip
    

    (note that check may require the Postgres bin directory to be added to the path, e.g. PATH=$(pg_config --bindir):$PATH; check the install log to see where pg_repack executable was installed).

  • Push the code changes on github:

    git push
    
  • Upload the package on http://manager.pgxn.org/.

  • Check the uploaded package works as expected; if not fix and push more:

    pgxn install --sudo -- pg_repack
    pgxn check pg_repack
    
  • Create a tag, signed if possible:

    git tag -a -s ver_$VER
    
  • Push the new tag on github:

    git push --tags
    
  • Upload the docs by pushing in the repos at http://reorg.github.io/pg_repack/. The operations are roughly:

    git clone --recursive git@github.com:reorg/reorg.github.com.git
    cd reorg.github.com
    make sm
    make
    git commit -a -m "Docs upload for release $VER"
    git push
    
  • Check the page http://reorg.github.io/pg_repack/ is right.

  • Announce the package on pgsql-announce@postgresql.org.