Skip to content

Commit

Permalink
add pre-release PR instructions to software process docs
Browse files Browse the repository at this point in the history
  • Loading branch information
stephprince committed Jul 3, 2024
1 parent c99c0c5 commit 74c4a42
Showing 1 changed file with 40 additions and 19 deletions.
59 changes: 40 additions & 19 deletions docs/source/make_a_release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,6 @@ Prerequisites

* You have a `GPG signing key`_.

* Dependency versions in ``requirements.txt``, ``requirements-dev.txt``, ``requirements-opt.txt``,
``requirements-doc.txt``, and ``requirements-min.txt`` are up-to-date.

* Legal information and copyright dates in ``Legal.txt``, ``license.txt``, ``README.rst``,
``docs/source/conf.py``, and any other files are up-to-date.

* Package information in ``setup.py`` is up-to-date.

* ``README.rst`` information is up-to-date.

* The ``nwb-schema`` submodule is up-to-date. The version number should be checked manually in case syncing the
git submodule does not work as expected.

* Documentation reflects any new features and changes in PyNWB functionality.

* Documentation builds locally.

* Documentation builds on the `ReadTheDocs project`_ on the "dev" build.

* Release notes have been prepared.

* An appropriate new version number has been selected.
Expand All @@ -56,6 +37,46 @@ Commands to evaluate starts with a dollar sign. For example::

means that ``echo "Hello"`` should be copied and evaluated in the terminal.

-----------------------------------------------------
Make pre-release pull request on GitHub: Step-by-step
-----------------------------------------------------

1. Create a new branch locally or on GitHub. Update the ``CHANGELOG.md`` with the release date.

.. code::
$ git checkout -b release-X.Y.Z
2. Create a pull request for the new release branch, then append the URL with: "&template=release.md".
For example, ``https://github.com/NeurodataWithoutBorders/pynwb/compare/dev...release-X.Y.Z?quick_pull=1&template=release.md``


3. Follow the checklist in the template. The checklist covers the following steps in more detail:

* Make sure all PRs to be included in this release have been merged to ``dev``.

* Update package versions in ``requirements.txt``, ``requirements-dev.txt``, ``requirements-opt.txt``,
``requirements-doc.txt``, ``requirements-min.txt``, ``environment-ros3.yml``, and ``pyproject.toml``.

* Check legal information and copyright dates in ``Legal.txt``, ``license.txt``, ``README.rst``,
``docs/source/conf.py``.

* Update ``pyproject.toml`` and ``README.rst`` as needed.

* Update ``src/pynwb/nwb-schema`` submodule as needed. Check the version number manually to make sure
we are using the latest release.

* Update documentation to reflect new features and changes in PyNWB functionality.

* Run tests locally, inspect all warnings and outputs, and try to remove all warnings.

* Test documentation builds locally and on the `ReadTheDocs project`_ on the "dev" build.



4. After the pull request has been reviewed and merged, pull changes to your local repository for the next steps.


-------------------------------------
Publish release on PyPI: Step-by-step
Expand Down

0 comments on commit 74c4a42

Please sign in to comment.