Skip to content

Commit 7ba8cdd

Browse files
committed
HOWTO-RELEASE: adjustments related to advertizing release [ci skip]
1 parent a39256b commit 7ba8cdd

File tree

1 file changed

+46
-43
lines changed

1 file changed

+46
-43
lines changed

HOWTO-RELEASE

Lines changed: 46 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -29,29 +29,29 @@ Prerequisites:
2929

3030
Process :
3131

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.
3535

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.
3939

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.
4141

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)
4444

45-
3) Update the VERSION file (if not already done)
45+
5) Update the VERSION file (if not already done)
4646

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)
5050

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
5252
directions given in the comment preceding it.
5353

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
5555
from v3.4.0 to current HEAD
5656
git log --reverse -v v3.4.0..HEAD . ":(exclude)autotest" ":(exclude)doc" ":(exclude).github"
5757

@@ -62,23 +62,28 @@ Process :
6262

6363
- for bugfixes releases, forward port additions of NEWS.md to master
6464

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.
6671

6772
git checkout master
6873
git pull origin master
6974
git checkout -b release/3.1
7075
git push origin release/3.1
7176

72-
7) Tag the release with a RC suffix:
77+
11) Tag the release with a RC suffix:
7378

7479
git checkout release/3.1
7580
git pull origin release/3.1
7681
git tag -a -m "Create tag v3.1.0RC1" v3.1.0RC1
7782
git push origin v3.1.0RC1
7883

79-
8) Prepare archives
84+
12) Prepare archives
8085

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):
8287

8388
If make is not GNU make, e.g., export MAKE=gmake
8489

@@ -97,7 +102,7 @@ Process :
97102

98103
md5sum (GNU version) in path (not a POSIX requirement)
99104

100-
8.1) Create the source distributions using the mkgdaldist.sh script.
105+
12.1) Create the source distributions using the mkgdaldist.sh script.
101106
The argument should be the version number (i.e. 1.4.2). As our process involves
102107
doing betas or RCs, use the -rc option so that the filenames include this
103108
information (after promotion to official release, filename renaming will have
@@ -118,7 +123,7 @@ Process :
118123
a previous release (diff -Nur gdal-3.0.1 gdal-3.0.2).
119124
This is more easily doable for a bugfix release.
120125

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)
122127

123128
1. Refresh
124129
https://download.osgeo.org/gdal/for_doc/javadoc.zip
@@ -128,7 +133,7 @@ Process :
128133
3. ./build_doc_snapshot 310
129134
This generates gdal310doc.zip
130135

131-
8.3) Publish the resulting files on download.osgeo.org,
136+
12.3) Publish the resulting files on download.osgeo.org,
132137
in /osgeo/download/gdal/X.Y.Z (where X.Y.Z is the version number)
133138

134139
with ~/.ssh/config containing:
@@ -137,23 +142,23 @@ Process :
137142
ProxyCommand ssh rouault@download.osgeo.org -W $(sed -e "s/^osgeo7-//;s/$/.lxd/" <<< "%h"):%p
138143

139144

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
142147

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
144149
and update NEWS,and go to 7)
145150

146151
If no new RC is needed, after a few days, raise a motion to gdal-dev@ for approval
147152

148-
11) Once the vote has positively completed,
153+
15) Once the vote has positively completed,
149154

150-
11.1) Tag the release as final:
155+
15.1) Tag the release as final:
151156

152157
git checkout v3.1.0RC1
153158
git tag -a -m "Create tag v3.1.0" v3.1.0
154159
git push origin v3.1.0
155160

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
157162

158163
Remove the RC suffixes for the final RC, like:
159164
mv gdal-3.8.3rc1.tar.xz gdal-3.8.3.tar.xz
@@ -176,22 +181,18 @@ Process :
176181
Check that everything is fine:
177182
md5sum -c *.md5
178183

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).
180185

181186
% ln -sf X.Y.Z CURRENT
182187

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.
188189
Then create a new milestone for the next release.
189190

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
191192
the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
192193
( procedure taken from http://peterdowns.com/posts/first-time-with-pypi.html )
193194

194-
15.1) Prerequisite:
195+
17.1) Prerequisite:
195196
a) Install twine https://pypi.org/project/twine/
196197

197198
b) Create a $HOME/.pypirc file :
@@ -210,7 +211,7 @@ the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
210211
username: yourlogin
211212
password: yourpassword
212213

213-
15.2) create gdal sdist and upload to pypi:
214+
17.2) create gdal sdist and upload to pypi:
214215

215216
a) Create a build directory if not already done. Go to it and run cmake
216217

@@ -227,7 +228,7 @@ the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
227228
f) For real :
228229
twine upload dist/gdal-*.gz
229230

230-
15.3) create gdal-utils wheel and upload to pypi:
231+
17.3) create gdal-utils wheel and upload to pypi:
231232

232233
a) cd $BUILD_DIR/swig/python/gdal-utils
233234

@@ -242,7 +243,7 @@ the GDAL package by one of the current owners : HowardB/FrankW/EvenR)
242243
d) For real :
243244
twine upload dist/gdal_utils-*.whl
244245

245-
16) Generate signed maven artifacts with GPG for Java bindings.
246+
18) Generate signed maven artifacts with GPG for Java bindings.
246247
This step is required in order to deploy the
247248
maven artifacts to the central Maven repository. Before this step can
248249
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)
272273
that contains all the maven artifacts with signatures. This file is what
273274
will be uploaded to maven central. See the next step.
274275

275-
17) Deploy maven artifacts to Maven central.
276+
19) Deploy maven artifacts to Maven central.
276277

277278
NOTE: Before you can deploy to maven central you must set up an account
278279
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
329330
- gdalXYZ.zip.md5
330331
- gdalautotest-X.Y.Z.zip
331332

332-
19) Regenerate Docker images
333+
20) Regenerate Docker images
333334

334335
e.g
335336
./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
336337

337338
and update docker/README.md with the latest release
338339

339-
20) Announce release to :
340+
21) Announce release to :
340341
- major release: gdal-dev@lists.osgeo.org, gdal-announce@lists.osgeo.org, news_item@osgeo.org.
341342
- bugfix release: gdal-dev@lists.osgeo.org, gdal-announce@lists.osgeo.org
342343

@@ -348,10 +349,12 @@ Note: gdal-announce@ is moderated. Make sure that your email address is approved
348349
('mod' tick disabled in https://lists.osgeo.org/mailman/admin/gdal-announce/members),
349350
or your message manually approved, with an administrator of the list.
350351

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
352353
the VERSION to the next one and in gcore/gdal_version.h.in, update
353354
GDAL_VERSION_MAJOR/_MINOR, GDAL_RELEASE_NAME (with a dev suffix, like "3.7.0dev"),
354355
and set GDAL_RELEASE_DATE to a date like {YEAR}9999.
355356
Update swig/python/gdal-utils/osgeo_utils/__init__.py to something like (3, 6, 99, 0)
356357
if master is 3.7.0dev
357358

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

Comments
 (0)