@@ -24,18 +24,18 @@ tagged commit should be tested locally before it is uploaded::
2424
2525In addition the following two tests should be run and manually inspected::
2626
27- python unit/memleak_hawaii3.py``
27+ python unit/memleak_hawaii3.py
2828 pushd examples/tests/
2929 python backend_driver.py
3030 popd
3131
3232
3333.. _release_ghstats :
3434
35- Github Stats
35+ GitHub Stats
3636------------
3737
38- We automatically extract github issue, PRs, and authors from the github via the API::
38+ We automatically extract GitHub issue, PRs, and authors from the GitHub via the API::
3939
4040 python tools/github_stats.py --since-tag $TAG --project 'matplotlib/matplotlib' --links --milestone v2.0.0 > doc/users/github_stats.rst
4141
@@ -50,12 +50,12 @@ Check Docs
5050Before tagging, make sure that the docs build cleanly ::
5151
5252 pushd doc
53- python make.py html pdf -n 16
53+ python make.py html latex -n 16
5454 popd
5555
5656After the docs are built, check that all of the links, internal and external, are still
5757valid. We use ``linkchecker `` for this, which has not been ported to python3 yet. You will
58- need to create a python2 enviroment with ``requests==2.9.0 `` and linkchecker ::
58+ need to create a python2 environment with ``requests==2.9.0 `` and linkchecker ::
5959
6060 conda create -p /tmp/lnkchk python=2 requests==2.9.0
6161 source activate /tmp/lnkchk
@@ -82,20 +82,36 @@ message ::
8282 git tag -a -s v2.0.0
8383
8484which will prompt you for your gpg key password and an annotation.
85- For pre releases it is important to follow :pep: `440 ` so than the
86- build artifacts will sort correctly in pypi. Finally, push the tag to github ::
85+ For pre releases it is important to follow :pep: `440 ` so that the
86+ build artifacts will sort correctly in pypi. Finally, push the tag to GitHub ::
8787
8888 git push -t DANGER v2.0.0
8989
9090Congratulations, the scariest part is done!
9191
9292To prevent issues with any down-stream builders which download the
93- tarball from github it is important to move all branches away from the commit
94- with the tag ::
93+ tarball from GitHub it is important to move all branches away from the commit
94+ with the tag [ # ]_ ::
9595
9696 git commit --allow-empty
9797 git push DANGER master
9898
99+
100+ .. [# ] The tarball that is provided by GitHub is produced using `git
101+ archive <https://git-scm.com/docs/git-archive> `__. We use
102+ `versioneer <https://github.com/warner/python-versioneer >`__
103+ which uses a format string in
104+ :file: `lib/matplotlib/_version.py ` to have ``git `` insert a
105+ list of references to exported commit (see
106+ :file: `.gitattributes ` for the configuration). This string is
107+ then used by ``versioneer `` to produce the correct version,
108+ based on the git tag, when users install from the tarball.
109+ However, if there is a branch pointed at the tagged commit,
110+ then the branch name will also be included in the tarball.
111+ When the branch eventually moves, anyone how checked the hash
112+ of the tarball before the branch moved will have an incorrect
113+ hash.
114+
99115 If this is a final release, also create a 'doc' branch (this is not
100116done for pre-releases)::
101117
@@ -110,18 +126,20 @@ micro release will be cut off of this branch)::
110126
111127
112128
113- .. _ release_tag :
129+ .. _ release_DOI :
114130
115131Release Management / DOI
116132------------------------
117133
118- Via the github UI (chase down link), turn the newly pushed tag into a
134+ Via the GitHub UI (chase down link), turn the newly pushed tag into a
119135release. If this is a pre-release remember to mark it as such.
120136
121137For final releases also get a DOI from `zenodo
122138<https://zenodo.org/> `__ and edit :file: `doc/_templates/citing.html `
123- with DOI link and commit to the VER-doc branch and push to github ::
139+ with DOI link and commit to the VER-doc branch and push to GitHub ::
124140
141+ git checkout v2.0.0-doc
142+ emacs doc/_templates/citing.html
125143 git push DANGER v2.0.0-doc:v2.0.0-doc
126144
127145.. _release_bld_bin :
@@ -131,26 +149,25 @@ Building binaries
131149
132150We distribute mac, windows, and many linux wheels as well as a source
133151tarball via pypi. Before uploading anything, contact the various
134- builders. Mac and manylinux wheels are built on travis
135- . You need to edit the
136- :file: `.travis.yml ` file and push to master of `the build
152+ builders. Mac and manylinux wheels are built on travis . You need to
153+ edit the :file: `.travis.yml ` file and push to master of `the build
137154project <https://github.com/MacPython/matplotlib-wheels> `__.
138155
139156Update the ``master `` branch (for pre-releases the ``devel `` branch)
140157of the `conda-forge feedstock
141158<https://github.com/conda-forge/matplotlib-feedstock> `__ via pull request.
142159
143- If this is a final release the following down-steam packagers should be contacted:
160+ If this is a final release the following downsteam packagers should be contacted:
144161
145- - debian
146- - fedora
147- - arch
148- - gentoo
149- - macports
150- - homebrew
162+ - Debian
163+ - Fedora
164+ - Arch
165+ - Gentoo
166+ - Macports
167+ - Homebrew
151168- Christoph Gohlke
152- - continuum
153- - enthought
169+ - Continuum
170+ - Enthought
154171
155172This can be done ahead of collecting all of the binaries and uploading to pypi.
156173
@@ -202,7 +219,7 @@ always the documentation for the latest stable release. Under that,
202219there are directories containing the documentation for older versions.
203220The documentation for current master are built on travis and push to
204221the `devdocs <https://github.com/matplotlib/devdocs/ >`__ repository.
205- These are available `matplotlib.org/devdocs
222+ These are available at `matplotlib.org/devdocs
206223<http://matplotlib.org/devdocs> `__.
207224
208225Assuming you have this repository checked out in the same directory as
@@ -211,23 +228,23 @@ matplotlib ::
211228 cd ../matplotlib.github.com
212229 mkdir 2.0.0
213230 rsync -a ../matplotlib/doc/build/html/* 2.0.0
214- cp ../matplotlib/doc/build/html /Matplotlib.pdf 2.0.0
231+ cp ../matplotlib/doc/build/latex /Matplotlib.pdf 2.0.0
215232
216233which will copy the built docs over. If this is a final release, also
217234replace the top-level docs ::
218235
219236 rsync -a 2.0.0/* ./
220237
221238You will need to manually edit :file: `versions.html ` to show the last
222- 3 tagged versions. Now commit and push everything to github ::
239+ 3 tagged versions. Now commit and push everything to GitHub ::
223240
224241 git add *
225242 git commit -a -m 'Updating docs for v2.0.0
226243 git push DANGER master
227244
228245Congratulations you have now done the third scariest part!
229246
230- It typically takes about 5-10 minutes for github to process the push
247+ It typically takes about 5-10 minutes for GitHub to process the push
231248and update the live web page (remember to clear your browser cache).
232249
233250
@@ -244,7 +261,7 @@ version of the release notes along with acknowledgments should be sent to
244261For final releases announcements should also be sent to the
245262numpy/scipy/jupyter mailing lists and python-announce.
246263
247- In addition, annoucments should be made on social networks (twitter,
248- g+, FB). For major release, numFOCUS should be contacted for
249- inclusion in their news letter and maybe to have something posted on
250- their blog.
264+ In addition, announcements should be made on social networks (twitter,
265+ g+, FB). For major release, ` NumFOCUS < http://www.numfocus.org/ >`__
266+ should be contacted for inclusion in their news letter and maybe to
267+ have something posted on their blog.
0 commit comments