|
| 1 | +What to do to release pg_repack |
| 2 | +=============================== |
| 3 | + |
| 4 | +This document is the list of operations to do to release a new pg_repack |
| 5 | +version. The version number in this document is indicated by ``$VER``: it |
| 6 | +should be a three-digit dot-separated version, eventually followed by a |
| 7 | +pre-release string: ``1.2.0``, ``1.2.1``, ``1.2-dev0``, ``1.2.0-beta1`` are |
| 8 | +valid version numbers. |
| 9 | + |
| 10 | +In order to release the package you will accounts on Github, Freecode and PGXN |
| 11 | +with the right privileges: contact Daniele Varrazzo to obtain them. |
| 12 | + |
| 13 | +- Set the right version number in ``META.json`` (note: it's in two different |
| 14 | + places). |
| 15 | +- Set the right release_status in ``META.json``: ``testing`` or ``stable``. |
| 16 | +- Commit the above metadata changes. |
| 17 | +- Create a tag, signed if possible:: |
| 18 | + |
| 19 | + git tag -a -s ver_$VER |
| 20 | + |
| 21 | +- Create a package running ``make package``. The package will be called |
| 22 | + ``dist/pg_repack-$VER.zip``. |
| 23 | + |
| 24 | +- Check the packages installs and tests ok with `pgxn client`__:: |
| 25 | + |
| 26 | + pgxn install --sudo -- dist/pg_repack-$VER.zip |
| 27 | + pgxn check dist/pg_repack-$VER.zip |
| 28 | + |
| 29 | + (note that ``check`` may require the Postgres bin directory to be added to |
| 30 | + the path; check the ``install`` log to see where ``pg_repack`` executable |
| 31 | + was installed). |
| 32 | + |
| 33 | + .. __: http://pgxnclient.projects.pgfoundry.org/ |
| 34 | + |
| 35 | +- Push the code changes and tags on github:: |
| 36 | + |
| 37 | + git push |
| 38 | + git push --tags |
| 39 | + |
| 40 | +- Upload the package on http://manager.pgxn.org/. |
| 41 | + |
| 42 | +- Check the uploaded package works as expected:: |
| 43 | + |
| 44 | + pgxn install --sudo -- pg_repack |
| 45 | + pgxn check pg_repack |
| 46 | + |
| 47 | +- Upload the docs by pushing in the repos at |
| 48 | + http://reorg.github.io/pg_repack/. The operations are roughly:: |
| 49 | + |
| 50 | + git clone git@github.com:reorg/reorg.github.com.git |
| 51 | + cd reorg.github.com.git |
| 52 | + git submodule init |
| 53 | + git submodule update |
| 54 | + make |
| 55 | + git commit -a -m "Docs upload for release $VER" |
| 56 | + git push |
| 57 | + |
| 58 | +- Check the page http://reorg.github.io/pg_repack/ is right. |
| 59 | + |
| 60 | +- Announce the package on reorg-general@pgfoundry.org and |
| 61 | + pgsql-announce@postgresql.org. |
| 62 | + |
| 63 | +- Announce the package on http://freecode.com/. |
0 commit comments