Skip to content

Commit

Permalink
Update AUTHOR, set copyright years, simplify release doc
Browse files Browse the repository at this point in the history
  • Loading branch information
matthew-brett committed Dec 21, 2023
1 parent 49bcde5 commit 77f1645
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 67 deletions.
3 changes: 3 additions & 0 deletions AUTHOR
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
Alexis Roche <[email protected]>
Ariel Rokem <[email protected]>
Ben Beasley <[email protected]>
Bertrand Thirion <[email protected]>
Benjamin Thyreau
Brian Hawthrorne
Ben Cipollini <[email protected]>
Chris Burns <[email protected]>
Chris Markiewicz <[email protected]>
Cindee Madison <[email protected]>
Elvis Dohmatob <[email protected]>
Endolith <[email protected]>
Expand All @@ -19,6 +21,7 @@ Matteo Visconti dOC <[email protected]>
Merlin Keller
Michael Waskom
Mike Trumpis
Stefan van der Walt <[email protected]>
Tim Leslie
Tom Waite
Virgile Fritsch <[email protected]>
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2006-2021, NIPY Developers
Copyright (c) 2006-2023, NIPY Developers
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
2 changes: 1 addition & 1 deletion doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@

# copyright = ':ref:`2005-2018, Neuroimaging in Python team.
# <nipy-software-license>`'
copyright = '2005-2021, Neuroimaging in Python team'
copyright = '2005-2023, Neuroimaging in Python team'

# The default replacements for |version| and |release|, also used in various
# other places throughout the built documents.
Expand Down
85 changes: 20 additions & 65 deletions doc/devel/guidelines/make_release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Release checklist
* Use the opportunity to update the ``.mailmap`` file if there are any
duplicate authors listed from ``git shortlog -ns``.

* Add any new authors to the ``AUTHORS`` file. Add any new entries to the
* Add any new authors to the ``AUTHOR`` file. Add any new entries to the
``THANKS`` file.

* Check the copyright years in ``doc/conf.py`` and ``LICENSE``
Expand All @@ -43,38 +43,19 @@ Release checklist

* Check the dependencies listed in ``pyproject.toml`` and in
``requirements.txt`` and in ``doc/users/installation.rst``. They should at
least match. Do they still hold? Make sure ``.travis.yml`` is testing these
minimum dependencies specifically.
least match. Do they still hold? Make sure ``.github/workflows`` is testing
these minimum dependencies specifically.

* Check the examples in python 2 and python 3, by
running something like::
* Check the examples by running something like::

cd ..
./nipy/tools/run_log_examples.py nipy/examples --log-path=~/tmp/eg_logs

in a Python 2 and python 3 virtualenv. Review the output in (e.g.)
in a virtualenv. Review the output in (e.g.)
``~/tmp/eg_logs``. The output file ``summary.txt`` will have the pass file
printout that the ``run_log_examples.py`` script puts onto stdout while
running.

You might want to do a by-eye comparison between the 2.7 and 3.x files
with::

diff -r nipy-examples-2.7 nipy-examples-3.5 | less

* If you have travis-ci_ building set up on your own fork
of Nipy you might want to push the code in its current
state to a branch that will build, e.g::

git branch -D pre-release-test # in case branch already exists
git co -b pre-release-test
git push your-github-user pre-release-test

* Make sure all the ``.c`` generated files are up to date
with Cython sources with::

./tools/nicythize

* Check the documentation doctests pass::

virtualenv venv
Expand All @@ -93,20 +74,20 @@ Release checklist

* Build and test the Nipy wheels. See the `wheel builder README
<https://github.com/MacPython/nipy-wheels>`_ for instructions. In summary,
clone the wheel-building repo, edit the ``.travis.yml`` and ``appveyor.yml``
text files (if present) with the branch or commit for the release, commit
and then push back up to github. This will trigger a wheel build and test
on OSX, Linux and Windows. Check the build has passed on on the Travis-CI
interface at https://travis-ci.org/MacPython/nipy-wheels. You'll need
commit privileges to the ``nipy-wheels`` repo; ask Matthew Brett or on the
mailing list if you do not have them.
clone the wheel-building repo, edit the ``.github/workflow`` text files (if
present) with the branch or commit for the release, commit and then push
back up to github. This will trigger a wheel build and test on macOS, Linux
and Windows. Check the build has passed on on the Github interface at
https://travis-ci.org/MacPython/nipy-wheels. You'll need commit privileges
to the ``nipy-wheels`` repo; ask Matthew Brett or on the mailing list if you
do not have them.

Doing the release
=================

* The release should now be ready.

* Edit :file:`nipy/__init__.py` to set ``version`` to e.g. ``0.5.2``; commit.
* Edit :file:`nipy/__init__.py` to set ``version`` to e.g. ``0.6.0``; commit.
Then::

make source-release
Expand All @@ -120,62 +101,36 @@ Doing the release
PyPI. See `setuptools intro`_. Make sure you have a file ``\$HOME/.pypirc``,
of form::

[distutils]
index-servers =
pypi

[pypi]
username:your.pypi.username
password:your-password
username = __token__

* Sign and upload the source release to PyPI using Twine_::

gpg --detach-sign -a dist/nipy*.tar.gz
twine upload dist/nipy*.tar.gz*

* Tag the release with tag of form ``0.5.0``. `-s` below makes a signed tag::
* Tag the release with tag of form ``0.6.0``. `-s` below makes a signed tag::

git tag -s 'Second main release' 0.5.0
git tag -s 'Second main release' 0.6.0

* Now the version number is OK, push the docs to github pages with::

make upload-html

* Set up maintenance / development branches

If this is this is a full release you need to set up two branches, one for
further substantial development (often called 'trunk') and another for
maintenance releases.

* Start next development series::

git co main-master

then restore ``.dev`` to ``__version__``, and bump
the minor version by 1. Thus the development series ('trunk') will
have a version number here of '0.3.0.dev' and the next full release
will be '0.3.0'.

* Merge ``-s ours`` the version number changes from the maint release,
e.g::
* Start the new series.

git merge -s ours maint/0.3.x
Edit ``nipy/__init__.py`` and set version number to something of form::

This marks the version number changes commit as merged, so we can
merge any changes we need from the maintenance branch without merge
conflicts.
__version__ = "0.6.1.dev1"

If this is just a maintenance release from ``maint/0.2.x`` or similar, just
tag and set the version number to - say - ``0.2.1.dev``.
where ``0.6.0`` was the previous release.

* Push tags::

git push --tags

* Announce to the mailing lists.

.. _setuptools intro: http://packages.python.org/an_example_pypi_project/setuptools.html
.. _twine: https://pypi.python.org/pypi/twine
.. _travis-ci: http://travis-ci.org

.. include:: ../../links_names.txt

0 comments on commit 77f1645

Please sign in to comment.