Skip to content

pgRouting 2.1.0 Release Process Checklist

Vicky Vergara edited this page Sep 7, 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>
  • Build and run final tests and verify version numbers tools/test-update tools/test-runner

  • Perform step 4 of 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 git commit -a -m 'added 2.1.0 signatures' git push

  • get the commit(hash) number

  git log
  • Update hash# and branch
      vi VERSION 
        <"pgRouting-2.1.0-0-<hash> master">
- [x] Push code and tag to github
      ```
      git commit -a -m 'update VERSION to final release 2.1.0'
      git push
      git stash
      git tag -a -m "Create the pgrouting-2.1.0 tag" pgrouting-2.1.0
      git push --tags
      ```


   - [x] 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. (but I don't know how to build latex)
  cmake -DWITH_DOC=ON ..
  make doc
  cd ..
  git checkout gh-pages
  mkdir 2.1
  # it's the final documentation, but only English documentation. html, pdf & (MAN?)
  cp -r build/doc/html/en/* 2.1
  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

- [x] merge into master
  git checkout master
  git merge pgrouting-2.1.0

- [x] Draft and publish a new release on the Github [Release](https://github.com/pgRouting/pgrouting/releases) Page. Include
      - [x] The contents of the news
      - [x] link to the documentation
- [x] change develop to be develop of nex version
   - [x] go thru all the sql files and make it with next library version: 2.2

- [x] The source tarball link from Github has been updated in the documentation and on the download page
   - [x] in the documentation
   - [x] in 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