Skip to content
Tom Kralidis edited this page Dec 17, 2018 · 9 revisions

Overview

This document gives you, as PyWPS release master, a complete tutorial of how to get a PyWPS release rolled up and deployed to a target server, create packages etc.

PyWPS versioning

PyWPS uses Debian version naming system. Every policy should be checked against it.

PyWPS uses a 3 number release description: MAJOR.MINOR.MAINTENANCE. Within MAJOR releases, we should aim, not to break backwards compatibility.

Event MINOR version numbers (0, 2, 4, 6, ...) are considered as stable, where as odd numbers (1, 3, 5, 7, ...) are current development branches. MINOR releases should add new features.

The MAINTENANCE number should be used for bugfix releases only. No new features are added.

For release candidates, the MAJOR.MINOR.MAINTENANCE-rcX format should be used.

Check master branch

master is the main development branch. Before a release, make sure, that Travis CI is indicating full successful test suite check.

Fix files, create tags, commit, push

git commit -m 'update release version to x.y.z' VERSION.txt pywps/__init__.py debian/changelog
git push origin master
  • Create tag in PyWPS main source tree
git tag -a x.y.z -m 'tagging release version x.y.z'
git push --tags
  • Update version in VERSION.txt and pywps/__init__.py to dev, e.g. x.y.dev0 on master branch.
  • Fix the VERSION.txt file.
  • Fix the pywps/init.py file __version__ attribute
git checkout master
git commit -m 'update release version to x.y.dev0' VERSION.txt pywps/__init__.py
git push origin master

Send PyWPS to http://pypi.python.org repository (only for stable releases)

cd /tmp
git clone [email protected]:geopython/pywps.git
cd pywps
git checkout X.Y.Z
python setup.py bdist_wheel --universal upload

Fix the pywps-flask project (only for stable releases)

git checkout master
$EDITOR VERSION.txt
git commit -m"Creating new release of PYWPS X.Y.Z fixes #TICKET_NUMBER" -a
git push
  • Add tag, once pull request is accepted
git tag X.Y.Z
git push --tags

Fix web pages && write to mailing list

PyWPS [x.y.z]
#############

The PyWPS Development team announces the release of PyWPS x.y.z.

Features of this version:
 - [SHOULD COPY THIS FROM Changelog]

To download this version, please follow the link below [2].

NOTE: [IF ANY]

What is PyWPS:
--------------

PyWPS (Python Web Processing Service) is an implementation of the Web
Processing Service standard from Open Geospatial Consortium (OGC(R)).
Processes can be written using GRASS GIS, but usage of other programs, like
R, GDAL or PROJ tools, is possible as well.

Happy GISing!

PyWPS Development team

[1] http://pywps.org
[2] http://pywps.org/download

Debian Packaging

# you need the following packages to be able to build a .deb package
sudo apt-get install devscripts debhelper python-setuptools
# for a new debian release follow these steps:
# Update debian/changelog
cd debian
dch
cd ..
# build binary package
debuild -b -uc -us

Note On Licensing

The license in debian/copyright appears as Expat because according to Debian packaging manual that's the flavour of the MIT license that PyWPS uses.

Documentation

Cutting the Release

Communications