Merge pull request #5433 from blink1073/release-instructions

Add release instructions
This commit is contained in:
Luciano Resende 2020-05-11 07:47:32 -07:00 committed by GitHub
commit 0090315f6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 73 additions and 68 deletions

73
RELEASE.md Normal file
View File

@ -0,0 +1,73 @@
# Making a Release of Notebook
## Start from a fresh git checkout and conda environment
### Set the release branch
```bash
export release_branch=master
```
### Create the git checkout
```bash
git clone git@github.com:jupyter/notebook.git
cd notebook
git checkout ${release_banch}
```
### Create and activate the conda environment
```bash
conda create -n notebook-release -c conda-forge jupyter
conda activate notebook-release
```
## Perform a local dev install
```bash
pip install -ve .
```
## Install release dependencies
```bash
conda install -c conda-forge nodejs babel twine
npm install -g po2json
```
## Update the version
```bash
vim notebook/_version.py
python setup.py jsversion
git commit -am "Release $(python setup.py --version)"
git tag $(python setup.py --version)
```
## Create the artifacts
```bash
rm -rf dist
python setup.py sdist
python setup.py bdist_wheel
```
## Upload the artifacts
```bash
twine check dist/* && twine upload dist/*
```
## Change back to dev version
```bash
vim notebook/_version.py # Add the .dev suffix
git commit -am "Back to dev version"
```
## Push the commits and tags
```bash
git push origin ${release_branch} --tags
```

View File

@ -1,67 +0,0 @@
.. _notebook_release:
Making a Notebook release
=========================
This document guides a contributor through creating a release of the Jupyter
notebook.
Check installed tools
---------------------
Review ``CONTRIBUTING.rst``. Make sure all the tools needed to generate the
minified JavaScript and CSS files are properly installed.
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 build from
previous attempts.
Create the release
------------------
#. Update version number in ``notebook/_version.py``.
#. Run this command:
.. code:: bash
python setup.py jsversion
It will modify (at least) ``notebook/static/base/js/namespace.js`` which
makes the notebook version available from within JavaScript.
#. 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/*
#. If all went well, change the ``notebook/_version.py`` back adding the
``.dev`` suffix.
#. Push directly on master, not forgetting to push ``--tags`` too.

View File

@ -33,7 +33,6 @@ The Jupyter Notebook
:caption: Contributor Documentation
contributing
development_release
development_faq
.. toctree::