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
|
.. _nbconvert_release:
Making an ``nbconvert`` release
===============================
This document guides a contributor through creating a release of ``nbconvert``.
Assign all merged PRs to milestones
-----------------------------------
Go to GitHub and assign all PRs that have been merged to milestones. This will
be helpful when you update the changelog. If you go to this `GitHub page <Github
no milestones_>`_ you will find all the PRs that currently have no milestones.
.. _GitHub no milestones: https://github.com/jupyter/nbconvert/pulls?utf8=%E2%9C%93&q=is%3Amerged%20is%3Apr%20no%3Amilestone%20
Check installed tools
---------------------
Review ``CONTRIBUTING.md``, particularly the testing and release sections.
Clean the repository
--------------------
You can remove all non-tracked files with:
.. code:: bash
git clean -xfdi
This would ask you for confirmation before removing all untracked files.
Make sure the ``dist/`` folder is clean and avoid stale builds from
previous attempts.
Create the release
------------------
#. Update the :doc:`changelog <changelog>` to account for all the PRs assigned to this milestone.
#. Update version number in ``notebook/_version.py``.
#. Commit and tag the release with the current version number:
.. code:: bash
git commit -am "release $VERSION"
git tag $VERSION
#. You are now ready to build the ``sdist`` and ``wheel``:
.. code:: bash
python setup.py sdist
python setup.py bdist_wheel
#. You can now test the ``wheel`` and the ``sdist`` locally before uploading
to PyPI. Make sure to use `twine <https://github.com/pypa/twine>`_ to
upload the archives over SSL.
.. code:: bash
twine upload dist/*
Release the new version
-----------------------
Push directly on master, including --tags separately
.. code:: bash
git push upstream
git push upstream --tags
Update nbviewer
---------------
On nbviewer-deploy run `invoke trigger_build` and then once it's built on
dockerhub run `invoke doitall`.
Return to development state
---------------------------
If all went well, change the ``notebook/_version.py`` back adding the
``.dev`` suffix.
|