-
-
Notifications
You must be signed in to change notification settings - Fork 367
pgRouting Release Process Checklist
This page hopefully documents that things that need to get done to make a product release.
- Minor releases:
- during the rewrite we require alpha, beta & rc to be released as PRE-release, and the final release
- all of them one week apart
- add numbering beta1 etc as needed
- code freeze start on alpha, only documentation changes are accepted
- small bug fixes of code on already rewritten code can be accepted
- bug fixes for making pgRouting work on not tested platform are accepted
- Minor releases are done on:
- March and September
- In Mid-February & mid-August alpha release is expected
- Micro releases:
- Do not need the alpha, beta, rc sequence
- A micro release happens because of a bug fix on the released code.
- The PR is merged and the release is generated on the next week's Friday to have time to fully review and test.
- If documentation fixes were done by the community, without code change no micro release is generated.
- documentation changes are passed to the next minor release.
- Let X be the minor number
- let Y be the micro number
- Do the appropriate substitutions
- Create an issue title:
Releasing 2.x.y (tasks)
- Copy the release tasks in the issue
- Copy from the latest release task issue
- Adjust the values from that release to the current release
- minor version number
- micro version number
- alpha/beta/rc for pre-release
- copy from the NEWS the changes of the release
- Follow the steps
- Adjust the links to the CI tests
- Run locally the script until the repository is left unchanged
- Releaser must have installed different versions of C++
- For pgROuting 2.5.x: gcc 4.6, 4.8, 4.9, 5.0
- Releaser must have installed all versions of pgRouting to test the update
- Releaser must have installed different versions of C++
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 | | |
-----------+-------+-----+
9.2 | | |
-----------+-------+-----+
9.3 | | |
-----------+-------+-----+
9.4 | | |
-----------+-------+-----+
9.5 | | |
-
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.5 |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">
- [ ] 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
```
- [ ] 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
- [ ] merge into master
git checkout master
git merge pgrouting-2.1.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.