Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update release process documentation #1928

Merged
merged 5 commits into from
Jul 4, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- Simplified the introduction to NWB tutorial. @rly [#1914](https://github.com/NeurodataWithoutBorders/pynwb/pull/1914)
- Simplified the ecephys and ophys tutorials. [#1915](https://github.com/NeurodataWithoutBorders/pynwb/pull/1915)
- Add comments to `src/pynwb/io/file.py` to improve developer documentation. @rly [#1925](https://github.com/NeurodataWithoutBorders/pynwb/pull/1925)
- Added pre-release pull request instructions to release process documentation @stephprince [#1928](https://github.com/NeurodataWithoutBorders/pynwb/pull/1928)

### Bug fixes
- Fixed use of `channel_conversion` in `TimeSeries` `get_data_in_units`. @rohanshah [1923](https://github.com/NeurodataWithoutBorders/pynwb/pull/1923)
Expand Down
59 changes: 39 additions & 20 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,44 @@ 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.




-------------------------------------
Publish release on PyPI: Step-by-step
Expand Down Expand Up @@ -144,7 +163,7 @@ Publish release on PyPI: Step-by-step
python -c "import pynwb; print(pynwb.__version__)"


10. Cleanup
12. Cleanup

On bash/zsh:

Expand Down
Loading