Skip to content

Doc release guide - #7635

Merged
NelleV merged 9 commits into
matplotlib:v2.xfrom
tacaswell:doc_release_guide
Dec 19, 2016
Merged

NelleV merged 9 commits into
matplotlib:v2.xfrom
tacaswell:doc_release_guide

Conversation

@tacaswell

Copy link
Copy Markdown
Member

I have been sitting on this for about a year...

This is a fleshed out version of the checklist I have been using for releases.

Closes #3707

@tacaswell tacaswell added this to the 2.0.1 (next bug fix release) milestone Dec 18, 2016
Comment thread doc/devel/release_guide.rst Outdated

In addition the following two tests should be run and manually inspected::

python unit/memleak_hawaii3.py``

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra backticks.

Comment thread doc/devel/release_guide.rst Outdated

.. _release_ghstats:

Github Stats

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub, everywhere.

Comment thread doc/devel/release_guide.rst Outdated
Github Stats
------------

We automatically extract github issue, PRs, and authors from the github via the API::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the github -> GitHub

Comment thread doc/devel/release_guide.rst Outdated
at the root of the source tree.
After the docs are built, check that all of the links, internal and external, are still
valid. We use ``linkchecker`` for this, which has not been ported to python3 yet. You will
need to create a python2 enviroment with ``requests==2.9.0`` and linkchecker ::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

enviroment -> environment

Comment thread doc/devel/release_guide.rst Outdated
On the branch, do any additional testing you want to do, and then build
binaries and source distributions for testing as release candidates.
which will prompt you for your gpg key password and an annotation.
For pre releases it is important to follow :pep:`440` so than the

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

than -> that

Comment thread doc/devel/release_guide.rst Outdated
git checkout v2.0.0-doc
git clean -xfd
cd doc
pyhton make.py html latex -n 16

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

latex? Not pdf, like before?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other one is wrong.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just noticed, pyhton -> python

Comment thread doc/devel/release_guide.rst Outdated
there are directories containing the documentation for older versions.
The documentation for current master are built on travis and push to
the `devdocs <https://github.com/matplotlib/devdocs/>`__ repository.
These are available `matplotlib.org/devdocs

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

available at

Comment thread doc/devel/release_guide.rst Outdated
cd ../matplotlib.github.com
mkdir 2.0.0
rsync -a ../matplotlib/doc/build/html/* 2.0.0
cp ../matplotlib/doc/build/html/Matplotlib.pdf 2.0.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this path right? It seems like it would have been covered by the rsync.

Comment thread doc/devel/release_guide.rst Outdated
matplotlib-devel. Final (non-release-candidate) versions should also
be announced on python-announce. Include a summary of highlights from
the CHANGELOG and/or post the whole CHANGELOG since the last release.
In addition, annoucments should be made on social networks (twitter,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

annoucements -> announcements

Comment thread tools/github_stats.py Outdated

print('.. _github-stats:')
print()
print('Github Stats')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub

@NelleV

NelleV commented Dec 18, 2016

Copy link
Copy Markdown
Member

That patch has really no reason to target 2.0…

The patch looks good.

Comment thread doc/devel/release_guide.rst Outdated
the CHANGELOG and/or post the whole CHANGELOG since the last release.
In addition, announcements should be made on social networks (twitter,
g+, FB). For major release, `NumFOCUS <http://www.numfocus.org/>`__
should be contacted for inclusion in their news letter and maybe to

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

newsletter is in one word.

Comment thread doc/devel/release_guide.rst Outdated
GitHub Stats
------------

We automatically extract GitHub issue, PRs, and authors from the GitHub via the API::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the GitHub -> GitHub

git tag -a v1.0.1rc1 a9f3f3a50745
.. [#] The tarball that is provided by GitHub is produced using `git
archive <https://git-scm.com/docs/git-archive>`__. We use
`versioneer <https://github.com/warner/python-versioneer>`__

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

versioneer is a bit of a red-herring; it's just the git archive process that produces the tag/branch info. I just tried it and now I see what you mean about it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is where the substitution is used though

Comment thread doc/devel/release_guide.rst Outdated
To generate the file that GitHub does use ::

Then push the tags to the main repository::
git archive v2.0.0 -o matplotlib-2.0.0.tar.gz --prefix=matplotlib-2.0.0/

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The trailing slash in the prefix is very important!


* We have a Makefile for the OS X builds in the mpl source dir
:file:`release/osx`, so use this to prepare the OS X releases.
git push DANGER v2.0.0-doc:v2.0.0-doc

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant before the editing, but you've got that in there now.

Comment thread doc/devel/release_guide.rst Outdated
<https://github.com/conda-forge/matplotlib-feedstock>`__ via pull request.

This will hide any previous releases automatically.
If this is a final release the following downsteam packagers should be contacted:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

downstream

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I sort of like 'downsteam'...

Comment thread doc/devel/release_guide.rst Outdated
git checkout v2.0.0-doc
git clean -xfd
cd doc
pyhton make.py html latex -n 16

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just noticed, pyhton -> python

@QuLogic

QuLogic commented Dec 18, 2016

Copy link
Copy Markdown
Member

I don't know what GitHub did to my review, but I think this covers everything (though I'd guess you'd know best, after all.)

@tacaswell

Copy link
Copy Markdown
Member Author

I validated most of this today with the rc2 release, will update the final release sutff with 2.0.

@NelleV

NelleV commented Dec 19, 2016

Copy link
Copy Markdown
Member

I deduce from your comment that this is still work in progress?

@tacaswell

Copy link
Copy Markdown
Member Author

I would not be sad if this got merged (after fix the apparently invaild bash?), but also would not be sad if this sits a bit longer.

@NelleV NelleV changed the title Doc release guide [MRG+1] Doc release guide Dec 19, 2016
@NelleV

NelleV commented Dec 19, 2016

Copy link
Copy Markdown
Member

I've relaunched the tests, and will merge once it is all green.

@NelleV

NelleV commented Dec 19, 2016

Copy link
Copy Markdown
Member

You've got around 15 minutes to fix that invalid bash :)

@NelleV
NelleV merged commit 25c4818 into matplotlib:v2.x Dec 19, 2016
@tacaswell
tacaswell deleted the doc_release_guide branch December 19, 2016 16:01
@QuLogic QuLogic changed the title [MRG+1] Doc release guide Doc release guide Dec 19, 2016
@QuLogic QuLogic modified the milestones: 2.0 (style change major release), 2.0.1 (next bug fix release) Dec 19, 2016
@tacaswell tacaswell mentioned this pull request Oct 8, 2017
29 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants