Skip to content

pgRouting 2.1.0 Release Process Checklist

Vicky Vergara edited this page Sep 6, 2015 · 33 revisions

This page hopefully documents that things that need to get done to make a product release.

TODO: If needed, add missing steps, and add details for how to do each step.

More ideas: https://github.com/postgis/postgis/blob/svn-trunk/HOWTO_RELEASE

  • Hopefully the release goals have been set and completed
  • Create/update the change log for Version 2.1.0
  • Create/update the NEWS
  • Edit doc/test/utilities-any.rest and update version numbers
  • Edit doc/index.html.in and add new release to it, remove obsolete stuff
  • Travis compiles and tests run (with gcc 4.6.3)
                   postGIS
      postgreSQL |  2.0  | 2.1 |
      -----------+-------+-----+
            9.1  |   ok  |  ok |
      -----------+-------+-----+
            9.2  |   ok  |  ok |
      -----------+-------+-----+
            9.3  |   ok  |  ok |
      -----------+-------+-----+
            9.4  |   ok  |  ok |
  • Winnie compiles and tests run

    postGIS  2.1, postGIS 2.2.0dev, boost 1.58/1.53
    
                 | gcc481 | gcc483 |
      postgreSQL | 32 bit | 64 bit |
      -----------+--------+--------+
            9.3  |ok      | ok     | 
      -----------+--------+--------+
            9.4  |ok      | ok     | 
      -----------+--------+--------+
       9.5alpha  |ok      | ok     | 
      -----------+--------+--------+
  • Mac compiles and tests run

    postgreSQL 9.4, boost 1.58, postGIS OK
    
  • CMakeLists.txt has been updated with the correct version number

  • An appropriate tag has been created for this release

  • alpha step

    • Tag in git as pgrouting-2.1.0-alpha1

      git tag -a -m "Create the pgrouting-2.1.0-alpha1 tag" pgrouting-2.1.0-alpha1

      git push --tags

    • Alpha Documentation has been build and pushed to gh-pages (also index.html has been modified)

    • send announcement to users and dev lists, ask for testers and feedback

    • got feedback

    • resolved issues

    • Finish documentation

  • beta step

    • Tag in git as pgrouting-2.1.0-beta
      git checkout develop
      git tag -a -m "Create the pgrouting-2.1.0-beta tag" pgrouting-2.1.0-beta
      git push --tags
  • Beta Documentation has been build and pushed to gh-pages (also index.html has been modified)

  • Draft and publish a new release on the Github "Release" Page: https://github.com/pgRouting /pgrouting/releases

  • send announcement to users and dev lists, ask for testers and feedback

  • got feedback

  • resolved issues

  • RC1 step

    • Tag in git as pgrouting-2.1.0--RCN
      git checkout develop
      vi VERSION
      (modify to rc1)
      git tag -a -m "Create the pgrouting-2.1.0-rc1 tag" pgrouting-2.1.0-rc1
      git push --tags
  • Beta Documentation has been build and pushed to gh-pages (also index.html has been modified)

  • Draft and publish a new release on the Github "Release" Page: https://github.com/pgRouting

  • send announcement to users and dev lists, ask for testers and feedback

  • got feedback

  • resolved issues

  • RC2 step

    • Tag in git as pgrouting-2.1.0--RC2
      git checkout develop
      vi VERSION
      (modify to rc2)
      git commit -a -m 'update to VERSIN to rc2'
      git tag -a -m "Create the pgrouting-2.1.0-rc2 tag" pgrouting-2.1.0-rc2
      git push --tags
  • RC2 Documentation has been build and pushed to gh-pages (also index.html has been modified)
      git checkout pgrouting-2.1.0-rc2
      cd build
      cmake -DWITH_DOC=ON ..
      make doc
      cd ..
      git checkout gh-pages
      mkdir v2.1.0-rc2
      # it's the rc2 documentation, but also the latest in develop
      cp -r build/doc/html/en/* v2.1.0-rc2
      cp -r build/doc/html/en/* dev
      vi index.html
          <edit to add the link to v2.1.0-rc2>
      git add v2.1.0-rc2
      git commit -a -m 'added the v2.1.0-rc2 documentation'
      git push
      git checkout develop
  • Draft and publish a new release on the Github Release Page:
  • send announcement to users and dev lists, ask for testers and feedback
  • got feedback
  • resolved issues
  • RC3 step
    • Tag in git as pgrouting-2.1.0--RC3
      git checkout develop
      vi VERSION
      (modify to rc3)
      git commit -a -m 'update to VERSION to rc3'
      git tag -a -m "Create the pgrouting-2.1.0-rc3 tag" pgrouting-2.1.0-rc3
      git push --tags
  • RC3 Documentation has been build and pushed to gh-pages (also index.html has been modified)
      git checkout pgrouting-2.1.0-rc3
      cd build
      cmake -DWITH_DOC=ON ..
      make doc
      cd ..
      git checkout gh-pages
      mkdir v2.1.0-rc3
      # it's the rc3 documentation, but also the latest in develop
      cp -r build/doc/html/en/* v2.1.0-rc3
      cp -r build/doc/html/en/* dev
      vi index.html
          <edit to add the link to v2.1.0-rc3>
      git add v2.1.0-rc3
      git commit -a -m 'added the v2.1.0-rc3 documentation'
      git push
      git checkout develop
  • Draft and publish a new release on the Github Release Page:
  • send announcement to users and dev lists, ask for testers and feedback
  • got feedback
  • resolved issues

RELEASE OF 2.0.1

  • Tag in git as pgrouting-2.0.1
      git fetch origin
      git checkout master
      git pull
      vi VERSION
      modify to 2.0.1
      git commit -a -m 'update to VERSION to 2.0.1'
      git tag -a -m "Create the pgrouting-2.0.1 tag" pgrouting-2.0.1
      git push --tags
  • Documentation for 2.0.1 didn't change so no need to rebuild
  • Draft and publish a new release on the Github Release Page

RELEASE OF 2.1.0

  • clean .travis.yml
      git checkout develop
      vi .travis.yml
          <make it work for master and develop only>
  • merge into master
      git checkout master
      git merge develop
  • Update version
      vi VERSION 
        <"v2.1.0-0-<hash> master">

- [ ] Build and run final tests and verify version numbers
- [ ] Perform step 4 of [[Version Update Signatures|Version-Update-Signatures]]
      ```
      cp build/lib/pgrouting--2.1.0.sig tools/sigs/pgrouting--2.1.0.sig
      git add  tools/sigs/pgrouting--2.1.0.sig
      ```
- [ ] test update
      ```
      tools/test-update
      ```
- [ ] Push code and tag to github
      ```
      git commit -a -m 'update VERSION to final release 2.1.0'
      git tag -a -m "Create the pgrouting-2.1.0 tag" pgrouting-2.1.0
      git push --tags
      ```
   - [] Draft and publish a new release on the Github [Release](https://github.com/pgRouting/pgrouting/releases) Page

   - [ ] Final release documentation has been build and pushed to gh-pages (also ``index.html`` has been modified)
  git checkout pgrouting-2.1.0
  cd build
  #build all the documentation, not only the html.
  cmake -DWITH_DOC=ON ..
  make doc
  cd ..
  git checkout gh-pages
  mkdir v2.1.0
  # it's the final documentation, but only English documentation. html, pdf & (MAN?)
  cp -r build/doc/html/en/* 2.1
  # And also the one in dev (only english html)
  cp -r build/doc/html/en/* dev  
  vi index.html
      <edit to add the link to 2.1>
      <remove the links to the pre-releases documentation>
  git add 2.1
  git commit -a -m 'added the v2.1 documentation'
  git push
  git checkout master

- [ ] The source tarball link from Github has been updated in the docs and on the download page
- [ ] Project website has been updated
- [ ] Upstream Linux distribution packagers have been notified

   - who ... 
   - Devrim Gunduz <devrim at gunduz (dot) org>
   - Daniel -- do you do Ubuntu?  Markus Wanner? 
   - Mac -- KingChaos - 
- [ ] Upstream Windows distribution packagers have been notified
  - Regina <lr (at) pcorp (dot) us>
- [ ] An announcement has been written, reviewed sent to -users, -dev, postgis-users, OSGeo-discuss, OSGeo-Announce mailing list.

Clone this wiki locally