pgrouting 2.2.3 Release process checklist - pgRouting/pgrouting GitHub Wiki

Micro release is due to a critical bug.

1. Information

Branch: hotfix/issue549 Commit: 1b5be4c

Issue Status Comment
#549 FIXED Here
#569 FIXED Here
Tests
Travis
Jenkins

1. Merge code changes into develop

Develop has next minor, so only copy source code modifications

issues already marked as fixed on develop

2. Version Changes

task 2.1

Modifications on the branch that fixes the issue

  • Click to the link for The instructions
  • Status:
    • PENDING
    • MODIFIED
    • COMMITTED
    • PUSHED
File Status
CMakeLists.txt PUSHED
utilities-any.result PUSHED
VERSION PUSHED
NEWS PUSHED
2_2_2.rst PUSHED
changelog/index.rst PUSHED
doc/index.rst PUSHED
signatures PUSHED
README.md PUSHED

task 2.2

  • Click to the link for The instructions
  • Status:
    • PENDING
    • DONE
subtask status
Compile DONE
Run the tests DONE
Run the documentation queries DONE

Add new files, commit & push: double check modified files:

git status

with the following commands

git add doc/src/changelog/2_2_3.rst
git add tools/sigs/pgrouting--2.2.2.sig
git commit -a -m 'Preparing release 2.2.3'
git stash

The stash is necessary because of the pre-commit hook

git checkout develop
cp build/lib/pgrouting--2.2.3.sig tools/sigs/
git add tools/sigs/pgrouting--2.2.3.sig
git checkout hotfix/issue549 doc/src/changelog/2_2_3.rst

Follow the instructions of

git commit -a -m 'Adding hotfix/issue549 changes'
git push
git stash

The stash is necessary because of the pre-commit hook

  • going back to working branch
git checkout hotfix/issue549
git push

3. Merging to master

Task 3.1

Information: Fill with the new commit number & test links

Branch: hotfix/issue549 Commit: 645d0c23

Tests
Travis
Jenkins

Task 3.2

After all tests passed, from the website:

  • Create a pull request
  • Merge to master
  • delete the hotfix/issue549 branch

Task 3.3

Information: Fill with the last commit number & test links

Branch: master Commit: e9925eca

Tests
Travis
Jenkins

Task 3.4

  1. step 1
git checkout master
vi travis

delete hotfix/issue549 from the testing branches, leave only master & develop

step 2)

Make sure VERSION has 2.2.3

vi VERSION

change 2.2.2 to 2.2.3

4.

Regenerate the documentation.

subtask status
Compile with doc DONE
Run the tests DONE
git commit -a -m 'Changes before tagging pgrouting-2.2.3'
git stash
git push

The stash is necessary because of the pre-commit hook

4.2 Build the final documentation

cd build
rm -rf doc
make doc
cd ..

4.3 Copy the documentation to the gh-pages

git checkout gh-pages
git pull origin
rm -rf 2.2/*
cp -r build/doc/html/en 2.2
git status
git add 2.2/en/_sources/doc/src/changelog/2_2_3.txt
git add 2.2/en/doc/src/changelog/2_2_3.html 
git commit -a -m 'Updating to 2.2.3 documentation'
git push

CREATE THE TAG

git tag -a -m "Create the pgrouting-2.2.3 tag" pgrouting-2.2.3
git push --tags

Go to website: https://github.com/pgRouting/pgrouting/releases/tag/pgrouting-2.2.3 Edit the tag

With the release of pgRouting 2.2.3 compatibility issues with PostgreSQL 9.6 are fixed.

 - To see the full list of changes check the list of `Git commits <https://github.com/pgRouting/pgrouting/commits>`_ on Github.
 - To see the issues closed by this release see the `Git closed issues <https://github.com/pgRouting/pgrouting/issues?q=milestone%3ARelease-2.2.3+is%3Aclosed>`_ on Github.
 - For important changes see the following release notes.

Changes for release 2.2.3
* Fixed  compatibility issues with PostgreSQL 9.6.

Apendix

CMakeLists.txt

vi CMakeLists.txt

Change:

# PGROUTING version number.
set(PGROUTING_VERSION_MAJOR "2")
set(PGROUTING_VERSION_MINOR "2")
set(PGROUTING_VERSION_PATCH "2")

To

# PGROUTING version number.
set(PGROUTING_VERSION_MAJOR "2")
set(PGROUTING_VERSION_MINOR "2")
set(PGROUTING_VERSION_PATCH "3")
set(PGROUTING_GIT_TAG "pgrouting-2.2.3")

utilities-any.result

vi doc/test/utilities-any.result

Change to
2.2.2 2.2.3

VERSION

vi VERSION

Change To
pgrouting-2.2.2-< rest > branch pgrouting-2.2.3-< rest > master

NEWS

vi NEWS

Add on top of the file:

Changes for 2.2.3
-------------------------------------------------------------------------------

- Fixed  compatibility issues with PostgreSQL 9.6.

2_2_3.rst

Create the log file for the release

vi doc/src/changelog/2_2_3.rst

Insert the following:

..
   ****************************************************************************
    pgRouting Manual
    Copyright(c) pgRouting Contributors

    This documentation is licensed under a Creative Commons Attribution-Share
    Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/
   ****************************************************************************

.. _changelog_2_2_3:

pgRouting 2.2.3 Release Notes
===============================================================================

With the release of pgRouting 2.2.e fixes  compatibility issues with PostgreSQL 9.6.

 - To see the full list of changes check the list of `Git commits <https://github.com/pgRouting/pgrouting/commits>`_ on Github.
 - To see the issues closed by this release see the `Git closed issues <https://github.com/pgRouting/pgrouting/issues?q=milestone%3ARelease-2.2.3+is%3Aclosed>`_ on Github.
 - For important changes see the following release notes.


Release Notes
-------------------------------------------------------------------------------


Changes for release 2.2.3

* Fixed  compatibility issues with PostgreSQL 9.6.

changelog/index.rst

Modify the change log on Change log file

vi doc/src/changelog/index.rst

Insert on top of the list.

   - :ref:`changelog_2_2_3`

Insert on top of the hidden tag

   2_2_3

doc/index.rst

Modify the change log on main page of documentation

vi doc/index.rst
\change_log

Insert on top of the list.

   - :ref:`changelog_2_2_3`

Signatures

We are not allowing signature changes in micro releases, for upgrading from 2.2.2 create the signature file

cp tools/sigs/pgrouting--2.2.0.sig tools/sigs/pgrouting--2.2.2.sig
vi tools/sigs/pgrouting--2.2.2.sig

On the first line:

Change to
#VERSION pgrouting 2.2.0 #VERSION pgrouting 2.2.2

README.md

vi README.md

Change:

The *master* branch reflects the current 2.2.2 release.

to

The *master* branch reflects the current 2.2.3 release.

go back to Task-2.1 before continuing

Compile

cd build/
rm -rf *
cmake ..
make
sudo make install

Run the tests

From previous command we are in build

cd ..
tools/testers/algorithm-tester.pl
createdb  ___pgr___test___
sh ./tools/testers/pg_prove_tests.sh vicky
dropdb  ___pgr___test___

createdb  ___test_update
psql  ___test_update  <<EOF
create extension postgis;
create extension pgrouting with version '2.2.0';
select pgr_version();
alter extension pgrouting update to '2.2.3';
select pgr_version();
EOF
dropdb   ___test_update

createdb  ___test_update
psql  ___test_update  <<EOF
create extension postgis;
create extension pgrouting with version '2.2.1';
select pgr_version();
alter extension pgrouting update to '2.2.3';
select pgr_version();
EOF
dropdb   ___test_update

createdb  ___test_update
psql  ___test_update  <<EOF
create extension postgis;
create extension pgrouting with version '2.2.2';
select pgr_version();
alter extension pgrouting update to '2.2.3';
select pgr_version();
EOF
dropdb   ___test_update

Run the documentation queries

tools/testers/algorithm-tester.pl -documentation

go back to Task-2.2 before continuing

Compile with doc

cd build/
rm -rf *
cmake -DWITH_DOC=ON ..
make
sudo make install
make doc
⚠️ **GitHub.com Fallback** ⚠️