File: RELEASE-howto.md

package info (click to toggle)
pywps 4.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,680 kB
  • sloc: python: 5,885; xml: 669; makefile: 52
file content (115 lines) | stat: -rw-r--r-- 3,098 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Howto release PyWPS

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](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version).
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](https://travis-ci.org/geopython/pywps) is indicating full successful test suite check.

## Fix files, create tags, commit, push

* Fix the [VERSION.txt](https://github.com/geopython/pywps/blob/master/VERSION.txt) file.
* Fix the [pywps/__init__.py](https://github.com/geopython/pywps/blob/master/pywps/__init__.py) file `__version__` attribute
* Fix the [debian/changelog](https://github.com/geopython/pywps/blob/master/debian/changelog) file

```
git commit -m"Creating new release of PYWPS X.Y.Z[-rcX] fixes" -a
```

* Create tag in PyWPS main source tree

```
git tag X.Y.Z[-rcX]
git push
git push --tags
```

* Update version in `VERSION.txt` and `pywps/__init__.py` to dev, e.g.
`4.3-dev` on `master` branch:

```
git checkout master
$EDITOR VERSION.txt pywps/__init__.py # add 4.3-dev version
git commit -m"Updating version to 4.3-dev"
git push
```

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

```
cd /tmp
git clone git@github.com:geopython/pywps.git
cd pywps
git checkout X.Y.Z
python setup.py bdist_wheel upload
```

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

```
git checkout master
```
* Fix the [VERSION.txt](https://github.com/geopython/pywps-flask/blob/master/VERSION.txt) file.

```
$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
```