diff --git a/docs/source/coredev/index.rst b/docs/source/coredev/index.rst index 69c70c6..0999547 100644 --- a/docs/source/coredev/index.rst +++ b/docs/source/coredev/index.rst @@ -16,4 +16,4 @@ on the IPython GitHub wiki. :maxdepth: 1 release_process - old_release_doc + making_release diff --git a/docs/source/coredev/making_release.rst b/docs/source/coredev/making_release.rst new file mode 100644 index 0000000..273d5af --- /dev/null +++ b/docs/source/coredev/making_release.rst @@ -0,0 +1,56 @@ +.. making_release:: + +Making an IPython release +========================= + +1. Make sure the repository is clean of any file that could be problematic. + Remove all non-tracked files with: + + .. code:: + + git clean -xfdi + + This will ask for confirmation before removing all untracked files. Make + sure the ``dist/`` folder is clean to avoid any stale builds from + previous build attempts. + +2. Update version number and ``_version_extra`` content in + ``IPython/core/release.py``. + + Make sure the version number matches pep440, in particular, `rc` and `beta` + are not separated by `.` or the `sdist` and `bdist` will appear as different + releases. For example, a valid version number for a release candidate (rc) + release is: ``1.3rc1``. Notice that there is no separator between the '3' + and the 'r'. + + +3. Commit and tag the release with the current version number: + + .. code:: + + git commit -am "release $VERSION" + git tag $VERSION + + +4. Build the ``sdist`` and ``wheel``: + + .. code:: + + python setup.py sdist --formats=zip,gztar + python2 setup.py bdist_wheel + python3 setup.py bdist_wheel + + +5. Be sure to test the ``wheel`` and the ``sdist`` locally before uploading + them to PyPI. Make sure to use `twine `_ to + upload these archives over SSL. + + .. code:: + + $ twine upload dist/* + +6. If all went well, change the ``_version_extra = ''`` in + ``IPython/core/release.py`` back to the ``.dev`` suffix, or + ``_version_extra='.dev'``. + +7. Push directly to master, remembering to push ``--tags`` too. \ No newline at end of file diff --git a/docs/source/coredev/old_release_doc.rst b/docs/source/coredev/old_release_doc.rst deleted file mode 100644 index 3040497..0000000 --- a/docs/source/coredev/old_release_doc.rst +++ /dev/null @@ -1,50 +0,0 @@ -.. old_release_doc:: - -Making an IPython release [TODO:: Can this content by removed ???] -================================================================== - -Make sure the repository is clean of any file that could be problematic. -You can remove all non-tracked files with: - -.. code:: - - git clean -xfdi - -This would ask you for confirmation before removing all untracked files. Make -sure the ``dist/`` folder is clean and avoid stale build from -previous attempts. - -1. Update version number in ``IPython/core/release.py``. - -Make sure the version number match pep440, in particular, `rc` and `beta` are -not separated by `.` or the `sdist` and `bdist` will appear as different -releases. - -2. Commit and tag the release with the current version number: - -.. code:: - - git commit -am "release $VERSION" - git tag $VERSION - - -3. You are now ready to build the ``sdist`` and ``wheel``: - -.. code:: - - python setup.py sdist --formats=zip,gztar - python2 setup.py bdist_wheel - python3 setup.py bdist_wheel - - -4. You can now test the ``wheel`` and the ``sdist`` locally before uploading to PyPI. -Make sure to use `twine `_ to upload the archives over SSL. - -.. code:: - - $ twine upload dist/* - -5. If all went well, change the ``IPython/core/release.py`` back adding the ``.dev`` suffix. - -6. Push directly on master, not forgetting to push ``--tags``. - diff --git a/docs/source/coredev/release_process.rst b/docs/source/coredev/release_process.rst index 6a3e0e9..87715fa 100644 --- a/docs/source/coredev/release_process.rst +++ b/docs/source/coredev/release_process.rst @@ -1,8 +1,8 @@ .. _release_process: -====================== -Releasing core IPython -====================== +======================= +IPython release process +======================= This document contains the process that is used to create an IPython release.