summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2018-02-21 11:53:32 -0700
committerCharles Harris <charlesr.harris@gmail.com>2018-02-22 08:31:46 -0700
commitb5ead184123325c6e959bf9745142cdaa978e101 (patch)
treed1dd31240a1e738d003666e6d64a78aaaca504fe
parent875b0e536617037dec54fdb618ff37d99a6c687b (diff)
downloadnumpy-b5ead184123325c6e959bf9745142cdaa978e101.tar.gz
DOC: Update RELEASE_WALKTHROUGH.rst.txt.
[ci skip]
-rw-r--r--doc/RELEASE_WALKTHROUGH.rst.txt116
1 files changed, 66 insertions, 50 deletions
diff --git a/doc/RELEASE_WALKTHROUGH.rst.txt b/doc/RELEASE_WALKTHROUGH.rst.txt
index 9d69eb2db..df8c9c45a 100644
--- a/doc/RELEASE_WALKTHROUGH.rst.txt
+++ b/doc/RELEASE_WALKTHROUGH.rst.txt
@@ -11,8 +11,8 @@ Building the release
Checkout the branch for the release, make sure it is up to date, and clean the
repository::
- $ git checkout maintenance/1.12.x
- $ git pull upstream maintenance/1.12.x
+ $ git checkout maintenance/1.14.x
+ $ git pull upstream maintenance/1.14.x
$ git submodule update
$ git clean -xdf
@@ -20,12 +20,12 @@ Look at the git log to get the hash of the last commit in the release, then
check it out::
$ git log
- $ git checkout f59a2fbbd497dbaf3a2e405a41e52dc5e331bfa7
+ $ git checkout 7849751173fb47a5f17761b3515b42b4d8ce1197
Edit pavement.py and setup.py as detailed in HOWTO_RELEASE::
$ gvim pavement.py setup.py
- $ git commit -a -m"REL: NumPy 1.12.0 release."
+ $ git commit -a -m"REL: NumPy 1.14.1 release."
Sanity check::
@@ -34,86 +34,102 @@ Sanity check::
Tag it,and build the source distribution archives::
- $ git tag -s v1.12.0
+ $ git tag -s v1.14.1
$ paver sdist # sdist will do a git clean -xdf, so we omit that
Check that the files in ``release/installers`` have the correct versions, then
push the tag upstream; generation of the wheels for PyPI needs it::
- $ git push upstream v1.12.0
+ $ git push upstream v1.14.1
Trigger the wheels build. This can take a while. The numpy-wheels repository is
cloned from `<https://github.com/MacPython/numpy-wheels>`_. Start with a pull
as the repo may have been accessed and changed by someone else and a push will
-fail. The ``.travis.yml`` and ``appveyor.yml`` files need to be edited to make
-sure they have the correct version, search for ``BUILD_COMMIT``. If you get
-nervous at the amount of time taken -- the builds can take several hours-- you
-can check the build progress by following the links provided at
-`<https://github.com/MacPython/numpy-wheels>`_ to check the travis and appveyor
-build status.
+fail.
$ cd ../numpy-wheels
$ git pull origin master
+ $ git branch <new version> # only when starting new numpy version
+ $ git checkout v1.14.x # v1.14.x already existed for the 1.14.1 release
+
+The ``.travis.yml`` and ``appveyor.yml`` files need to be edited to make
+sure they have the correct version, search for ``BUILD_COMMIT``.
+
$ gvim .travis.yml appveyor.yml
$ git commit -a
$ git push origin HEAD
-Upload to PyPI
---------------
+Now wait. If you get nervous at the amount of time taken -- the builds can take
+several hours-- you can check the build progress by following the links
+provided at `<https://github.com/MacPython/numpy-wheels>`_ to check the travis
+and appveyor build status. Check if all the needed wheels have been built and
+uploaded before proceeding. There should currently be 22 of them at
+`<https://wheels.scipy.org>`_, 4 for Mac, 8 for Windows, and 10 for Linux.
-Upload to PyPI using the ``wheel-uploader``. The terryfy repository is
-cloned from `<https://github.com/MacPython/terryfy>`_. Uploading can be a
-hassle due to the site itself having problems. If you get strange messages, put
-it off for the next day. To begin, check if all the needed wheels have been
-built. There should be 22 of them at `<https://wheels.scipy.org>`_, 4 for Mac,
-8 for Windows, and 10 for Linux. Here the wheelhouse directory is in the home
-directory. Then upload the wheels. You will need to sign every file separately
-in the process, keeping the pass phrase in the clipboard and pasting it in will
-make that easier::
+
+Download wheels
+---------------
+
+When the wheels have all been built, download them using the ``wheel-uploader``
+in the ``terryfy`` repository. The terryfy repository may be cloned from
+`<https://github.com/MacPython/terryfy>`_ if you don't already have it. The
+wheels can also be uploaded using the ``wheel-uploader``, but we prefer to
+download all the wheels to the ``../numpy/release/installers`` directory and
+upload later using ``twine``.
$ cd ../terryfy
$ git pull origin master
$ CDN_URL=https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com
- $ ./wheel-uploader -r warehouse -u $CDN_URL -s -v -w ~/wheelhouse -t win numpy 1.12.0
- $ ./wheel-uploader -r warehouse -u $CDN_URL -s -v -w ~/wheelhouse -t manylinux1 numpy 1.12.0
- $ ./wheel-uploader -r warehouse -u $CDN_URL -s -v -w ~/wheelhouse -t macosx numpy 1.12.0
+ $ NPY_WHLS=../numpy/release/installers
+ $ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t win numpy 1.14.1
+ $ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t manylinux1 numpy 1.14.1
+ $ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t macosx numpy 1.14.1
+
+If you do this often, consider making CDN_URL and NPY_WHLS part of your default
+environment.
-If one of the commands breaks in the middle, you may need to manually upload
-the rest of the files using twine because wheel-uploader always starts from the
-beginning and PyPI does not allow the same file to be uploaded twice.
-The source files should be uploaded last to avoid problems. PyPI will only allow
-a single source distribution, here it is the zip archive::
+Upload to PyPI
+--------------
+
+Upload to PyPI using ``twine``. The choice here is to sign the files, so will
+need to sign every file separately when they are uploaded, keeping the gpg pass
+phrase in the clipboard and pasting it in will make that easier. We may chose
+to forgo the signing in the future::
$ cd ../numpy
- $ twine upload -s release/installers/numpy-1.12.0.zip
+ $ twine upload -s release/installers/*.whl
+ $ twine upload -s release/installers/numpy-1.14.1.zip # Upload last.
+
+If one of the commands breaks in the middle, which is not uncommon, you may
+need to selectively upload the remaining files becuase PyPI does not allow the
+same file to be uploaded twice. The source file should be uploaded last to
+avoid synchronization problems if pip users access the files while this is in
+process. Note that PyPI only allows a single source distribution, here we have
+chosen the zip archive.
If this is not a final release, log into PyPI and hide the new directory while
-making sure the last final release is visible.
+making sure the last stable release is visible.
-Upload tarballs to github
--------------------------
-We want to post the hash values for the files uploaded to PyPI in the release
-generated README file, so first copy the wheels into the installers directory
-and remove the now unneeded signature files::
- $ cp ~/wheelhouse/numpy-1.12.0* release/installers
- $ rm release/installers/*.asc
+Upload files to github
+----------------------
-Generate the ``release/Changelog`` and ``release/README`` files::
+Generate the ``release/README`` files::
+ $ rm release/installers/*.asc
$ paver write_release_and_log
-Go to `<https://github.com/numpy/numpy/releases>`_, there should be a
-``v1.12.0 tag``, hit the edit button for that tag. There are two ways to add
-files, using an editable text window and as binary uploads.
+Go to `<https://github.com/numpy/numpy/releases>`_, there should be a ``v1.14.1
+tag``, click on it and hit the edit button for that tag. There are two ways to
+add files, using an editable text window and as binary uploads.
-- Cut-and-paste the ``release/README.md`` file contents into the text window.
+- Cut and paste the ``release/README.md`` file contents into the text window.
- Upload ``release/installers/numpy-1.12.0.tar.gz`` as a binary file.
- Upload ``release/installers/numpy-1.12.0.zip`` as a binary file.
- Upload ``release/README`` as a binary file.
-- Upload ``release/Changelog`` as a binary file (maybe).
-- Check the pre-release button for pre-releases.
+- Upload ``doc/changelog/1.14.1-changelog.rst`` as a binary file.
+- Check the pre-release button if this is a pre-releases.
- Hit the ``{Publish,Update} release`` button at the bottom.
@@ -127,7 +143,7 @@ upload the documentation. Otherwise::
$ pushd doc
$ make dist
- $ make upload USERNAME=<yourname> RELEASE=v1.12.0
+ $ make upload USERNAME=<yourname> RELEASE=v1.14.1
$ popd
If the release series is a new one, you will need to rebuild and upload the
@@ -148,7 +164,7 @@ This assumes that you have forked `<https://github.com/scipy/scipy.org>`_::
$ cd ../scipy.org
$ git checkout master
$ git pull upstream master
- $ git checkout -b numpy-1.12.0
+ $ git checkout -b numpy-1.14.1
$ gvim www/index.rst # edit the News section
$ git commit -a
$ git push origin HEAD
@@ -164,7 +180,7 @@ announcements for the basic template. The contributor list can be generated as
follows::
$ cd ../numpy
- $ ./tools/announce.py $GITHUB v1.11.0..v1.12.0 > tmp.rst
+ $ ./tools/changelog.py $GITHUB v1.14.0..v1.14.1 > tmp.rst
The contents of ``tmp.rst`` can then be cut and pasted into the announcement
email.