@@ -29,29 +29,29 @@ Prerequisites:
29
29
30
30
Process :
31
31
32
- 1) "make completion" to regenerate scripts/gdal-bash-completion.sh
33
- if new command line switches have been added. scripts/completionFinder.py
34
- must also be edited before if new utilities/scripts are added/removed.
32
+ 1) "make completion" to regenerate scripts/gdal-bash-completion.sh
33
+ if new command line switches have been added. scripts/completionFinder.py
34
+ must also be edited before if new utilities/scripts are added/removed.
35
35
36
- 2.1 ) Update the release date, and number information in gcore/gdal_version.h.in
37
- (*NOT* gdal_version.h which is a generated file)
38
- Note: the format of GDAL_RELEASE_DATE should be YYYYMMDD.
36
+ 2) Update the release date, and number information in gcore/gdal_version.h.in
37
+ (*NOT* gdal_version.h which is a generated file)
38
+ Note: the format of GDAL_RELEASE_DATE should be YYYYMMDD.
39
39
40
- 2.2 ) Update two instances of year in CITATION file to the current year.
40
+ 3 ) Update two instances of year in CITATION file to the current year.
41
41
42
- 2.3 ) Update "version" and "date-released" in CITATION.cff (Note: the DOI does
43
- *not* need to be updated as it is a generic one)
42
+ 4 ) Update "version" and "date-released" in CITATION.cff (Note: the DOI does
43
+ *not* need to be updated as it is a generic one)
44
44
45
- 3 ) Update the VERSION file (if not already done)
45
+ 5 ) Update the VERSION file (if not already done)
46
46
47
- 3.1 ) Update the version information in the following files:
48
- - ./swig/python/gdal-utils/osgeo_utils/__init__.py (gdal-utils python package)
49
- - ./swig/python/README.rst (libgdal)
47
+ 6 ) Update the version information in the following files:
48
+ - ./swig/python/gdal-utils/osgeo_utils/__init__.py (gdal-utils python package)
49
+ - ./swig/python/README.rst (libgdal)
50
50
51
- 4 ) Update the GDAL_SOVERSION number at top of gdal.cmake according to the
51
+ 7 ) Update the GDAL_SOVERSION number at top of gdal.cmake according to the
52
52
directions given in the comment preceding it.
53
53
54
- 5 ) Prepare release overview in the NEWS.md file. For example, to get all changes
54
+ 8 ) Prepare release overview in the NEWS.md file. For example, to get all changes
55
55
from v3.4.0 to current HEAD
56
56
git log --reverse -v v3.4.0..HEAD . ":(exclude)autotest" ":(exclude)doc" ":(exclude).github"
57
57
@@ -62,23 +62,28 @@ Process :
62
62
63
63
- for bugfixes releases, forward port additions of NEWS.md to master
64
64
65
- 6) If this is a feature release (e.g 3.1), prepare a branch.
65
+ 9) Update doc/source/about_no_title.rst, doc/source/download.rst and doc/source/download_past.rst
66
+ to advertise the new release and link to the release notes. Do that in a dedicated commit.
67
+
68
+ (It is necessary to do that at that stage, so that the ReadTheDocs "stable" branch, based on the latest tag, proposes to download it)
69
+
70
+ 10) If this is a feature release (e.g 3.1), prepare a branch.
66
71
67
72
git checkout master
68
73
git pull origin master
69
74
git checkout -b release/3.1
70
75
git push origin release/3.1
71
76
72
- 7 ) Tag the release with a RC suffix:
77
+ 11 ) Tag the release with a RC suffix:
73
78
74
79
git checkout release/3.1
75
80
git pull origin release/3.1
76
81
git tag -a -m "Create tag v3.1.0RC1" v3.1.0RC1
77
82
git push origin v3.1.0RC1
78
83
79
- 8 ) Prepare archives
84
+ 12 ) Prepare archives
80
85
81
- 8 .0) Ensure you have the following prerequisites (beyond normal build deps):
86
+ 12 .0) Ensure you have the following prerequisites (beyond normal build deps):
82
87
83
88
If make is not GNU make, e.g., export MAKE=gmake
84
89
@@ -97,7 +102,7 @@ Process :
97
102
98
103
md5sum (GNU version) in path (not a POSIX requirement)
99
104
100
- 8 .1) Create the source distributions using the mkgdaldist.sh script.
105
+ 12 .1) Create the source distributions using the mkgdaldist.sh script.
101
106
The argument should be the version number (i.e. 1.4.2). As our process involves
102
107
doing betas or RCs, use the -rc option so that the filenames include this
103
108
information (after promotion to official release, filename renaming will have
@@ -118,7 +123,7 @@ Process :
118
123
a previous release (diff -Nur gdal-3.0.1 gdal-3.0.2).
119
124
This is more easily doable for a bugfix release.
120
125
121
- 8 .2) Create a snapshot of the documentation (only for feature releases)
126
+ 12 .2) Create a snapshot of the documentation (only for feature releases)
122
127
123
128
1. Refresh
124
129
https://download.osgeo.org/gdal/for_doc/javadoc.zip
@@ -128,7 +133,7 @@ Process :
128
133
3. ./build_doc_snapshot 310
129
134
This generates gdal310doc.zip
130
135
131
- 8 .3) Publish the resulting files on download.osgeo.org,
136
+ 12 .3) Publish the resulting files on download.osgeo.org,
132
137
in /osgeo/download/gdal/X.Y.Z (where X.Y.Z is the version number)
133
138
134
139
with ~/.ssh/config containing:
@@ -137,23 +142,23 @@ Process :
137
142
ProxyCommand ssh rouault@download.osgeo.org -W $(sed -e "s/^osgeo7-//;s/$/.lxd/" <<< "%h"):%p
138
143
139
144
140
- 9 ) Announce the release candidate availability to gdal-dev@
141
- Example: https://lists.osgeo.org/pipermail/gdal-dev/2019-June/050509.html
145
+ 13 ) Announce the release candidate availability to gdal-dev@
146
+ Example: https://lists.osgeo.org/pipermail/gdal-dev/2019-June/050509.html
142
147
143
- 10 ) If new RC is needed, update gcore/gdal_version.h.in with the new date
148
+ 14 ) If new RC is needed, update gcore/gdal_version.h.in with the new date
144
149
and update NEWS,and go to 7)
145
150
146
151
If no new RC is needed, after a few days, raise a motion to gdal-dev@ for approval
147
152
148
- 11 ) Once the vote has positively completed,
153
+ 15 ) Once the vote has positively completed,
149
154
150
- 11 .1) Tag the release as final:
155
+ 15 .1) Tag the release as final:
151
156
152
157
git checkout v3.1.0RC1
153
158
git tag -a -m "Create tag v3.1.0" v3.1.0
154
159
git push origin v3.1.0
155
160
156
- 11 .2) Log on download.osgeo.org, go to /osgeo/download/gdal/X.Y.Z
161
+ 15 .2) Log on download.osgeo.org, go to /osgeo/download/gdal/X.Y.Z
157
162
158
163
Remove the RC suffixes for the final RC, like:
159
164
mv gdal-3.8.3rc1.tar.xz gdal-3.8.3.tar.xz
@@ -176,22 +181,18 @@ Process :
176
181
Check that everything is fine:
177
182
md5sum -c *.md5
178
183
179
- 11 .3) In /osgeo/download/gdal, add a symlink from X.Y.Z to CURRENT (except for stable releases in a "old" branch).
184
+ 15 .3) In /osgeo/download/gdal, add a symlink from X.Y.Z to CURRENT (except for stable releases in a "old" branch).
180
185
181
186
% ln -sf X.Y.Z CURRENT
182
187
183
- 12) (Removed)
184
-
185
- 13) Update doc/source/about_no_title.rst and doc/source/download.rst to advertise the new release and link to the release notes
186
-
187
- 14) Update GitHub to close the release milestone.
188
+ 16) Update GitHub to close the release milestone.
188
189
Then create a new milestone for the next release.
189
190
190
- 15 ) Upload the new Python bindings to Pypi (requires upload rights to
191
+ 17 ) Upload the new Python bindings to Pypi (requires upload rights to
191
192
the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
192
193
( procedure taken from http://peterdowns.com/posts/first-time-with-pypi.html )
193
194
194
- 15 .1) Prerequisite:
195
+ 17 .1) Prerequisite:
195
196
a) Install twine https://pypi.org/project/twine/
196
197
197
198
b) Create a $HOME/.pypirc file :
@@ -210,7 +211,7 @@ the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
210
211
username: yourlogin
211
212
password: yourpassword
212
213
213
- 15 .2) create gdal sdist and upload to pypi:
214
+ 17 .2) create gdal sdist and upload to pypi:
214
215
215
216
a) Create a build directory if not already done. Go to it and run cmake
216
217
@@ -227,7 +228,7 @@ the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
227
228
f) For real :
228
229
twine upload dist/gdal-*.gz
229
230
230
- 15 .3) create gdal-utils wheel and upload to pypi:
231
+ 17 .3) create gdal-utils wheel and upload to pypi:
231
232
232
233
a) cd $BUILD_DIR/swig/python/gdal-utils
233
234
@@ -242,7 +243,7 @@ the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
242
243
d) For real :
243
244
twine upload dist/gdal_utils-*.whl
244
245
245
- 16 ) Generate signed maven artifacts with GPG for Java bindings.
246
+ 18 ) Generate signed maven artifacts with GPG for Java bindings.
246
247
This step is required in order to deploy the
247
248
maven artifacts to the central Maven repository. Before this step can
248
249
proceed you must set up a signing key as described here:
@@ -272,7 +273,7 @@ the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
272
273
that contains all the maven artifacts with signatures. This file is what
273
274
will be uploaded to maven central. See the next step.
274
275
275
- 17 ) Deploy maven artifacts to Maven central.
276
+ 19 ) Deploy maven artifacts to Maven central.
276
277
277
278
NOTE: Before you can deploy to maven central you must set up an account
278
279
in Sonatype JIRA. That can be done here:
@@ -329,14 +330,14 @@ e) Click the "Release" button and that is it! The release should be available in
329
330
- gdalXYZ.zip.md5
330
331
- gdalautotest-X.Y.Z.zip
331
332
332
- 19 ) Regenerate Docker images
333
+ 20 ) Regenerate Docker images
333
334
334
335
e.g
335
336
./docker/build-all.sh --with-multi-arch --release --tag 3.3.1 --gdal v3.3.1 --proj 8.1.0 --platform linux/arm64,linux/amd64 --push
336
337
337
338
and update docker/README.md with the latest release
338
339
339
- 20 ) Announce release to :
340
+ 21 ) Announce release to :
340
341
- major release: gdal-dev@lists.osgeo.org, gdal-announce@lists.osgeo.org, news_item@osgeo.org.
341
342
- bugfix release: gdal-dev@lists.osgeo.org, gdal-announce@lists.osgeo.org
342
343
@@ -348,10 +349,12 @@ Note: gdal-announce@ is moderated. Make sure that your email address is approved
348
349
('mod' tick disabled in https://lists.osgeo.org/mailman/admin/gdal-announce/members),
349
350
or your message manually approved, with an administrator of the list.
350
351
351
- 21 ) For a feature release: after it has been done, in the master branch, update
352
+ 22 ) For a feature release: after it has been done, in the master branch, update
352
353
the VERSION to the next one and in gcore/gdal_version.h.in, update
353
354
GDAL_VERSION_MAJOR/_MINOR, GDAL_RELEASE_NAME (with a dev suffix, like "3.7.0dev"),
354
355
and set GDAL_RELEASE_DATE to a date like {YEAR}9999.
355
356
Update swig/python/gdal-utils/osgeo_utils/__init__.py to something like (3, 6, 99, 0)
356
357
if master is 3.7.0dev
357
358
359
+ 23) For bugfixes releases, forward port to master changes done in
360
+ doc/source/about_no_title.rst, doc/source/download.rst and doc/source/download_past.rst
0 commit comments