pgRouting 2.2.0 Release Process Checklist - pgRouting/pgrouting GitHub Wiki

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
  • Develop: Travis compiles and tests run (with gcc 4.8.3)

precise Trusty

OS postgreSQL & postGis status
Trusty 9.1 & 2.1 OK
Trusty 9.2 & 2.1 OK
Trusty 9.3 & 2.1 OK
Trusty 9.4 & 2.1 OK
Trusty 9.5 & 2.2 OK
Precise 9.1 & 2.1 OK
Precise 9.2 & 2.1 OK
Precise 9.3 & 2.1 OK
Precise 9.4 & 2.1 OK
Precise 9.5 & 2.1 OK
  • Jenkins: Winnie compiles and tests run (postGIS 2.2.0 on develop)

http://winnie.postgis.net:1500/view/pgRouting/job/pgRouting_matrix_branch_develop/

BITS postgreSQL status
32 9.3 --
32 9.4 --
32 9.5 --
64 9.3 --
64 9.4 --
64 9.5 --
  • Mac compiles and tests run, NEED TO FIND A TESTER

    postgreSQL 9.?, boost 1.?, postGIS 2.?
    
  • 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.2.0-alpha

    git tag -a -m "Create the pgrouting-2.2.0-alpha tag" pgrouting-2.2.0-alpha

    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

beta1 step

  • Tag in git as pgrouting-2.2.0-beta1
      git checkout develop
      git tag -a -m "Create the pgrouting-2.2.0-beta1 tag" pgrouting-2.2.0-beta1
      git push --tags
  • Beta1 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

beta2 step

  • Tag in git as pgrouting-2.2.0-beta2
      git checkout develop
      git tag -a -m "Create the pgrouting-2.2.0-beta2 tag" pgrouting-2.2.0-beta2
      git push --tags
  • Beta1 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.2.0--RC1
      git checkout develop
      vi VERSION
      (modify to rc1)
      git tag -a -m "Create the pgrouting-2.2.0-RC1 tag" pgrouting-2.2.0-RC1
      git push --tags
  • RC1 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.2.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.2.0-rc2 tag" pgrouting-2.2.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.2.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.2.0-rc2
      cp -r build/doc/html/en/* dev
      vi index.html
          <edit to add the link to v2.2.0-rc2>
      git add v2.1.0-rc2
      git commit -a -m 'added the v2.2.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.2.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.2.0-rc3 tag" pgrouting-2.2.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.2.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.2.0-rc3
      cp -r build/doc/html/en/* dev
      vi index.html
          <edit to add the link to v2.2.0-rc3>
      git add v2.1.0-rc3
      git commit -a -m 'added the v2.2.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.1.1

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

RELEASE OF 2.2.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.2.0.sig tools/sigs/pgrouting--2.2.0.sig git add tools/sigs/pgrouting--2.2.0.sig git commit -a -m 'added 2.2.0 signatures' git push

  • get the commit(hash) number

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


   - [ ] Final release documentation has been build and pushed to gh-pages (also ``index.html`` has been modified)
  git checkout pgrouting-2.2.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.2
  # it's the final documentation, but only English documentation. html, pdf & (MAN?)
  cp -r build/doc/html/en/* 2.2
  vi index.html
      <edit to add the link to 2.2>
      <remove the links to the pre-releases documentation>
  git add 2.2
  git commit -a -m 'added the v2.2 documentation'
  git push
  git checkout master

- [ ] merge into master
  git checkout master
  git merge pgrouting-2.2.0

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

- [ ] The source tarball link from Github has been updated in the documentation and on the download page
   - [ ] in the documentation
   - [ ] 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.
⚠️ **GitHub.com Fallback** ⚠️