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

Add steps for making a new release #94

Merged
merged 4 commits into from
Oct 21, 2021
Merged
Show file tree
Hide file tree
Changes from 3 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
6 changes: 6 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,9 @@ up of :py:class:`cftime.datetime` dates with any calendar type.

release-notes
api

.. toctree::
:caption: Maintenance
:maxdepth: 1

releases
2 changes: 2 additions & 0 deletions docs/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ Documentation
* Added a start on Read the Docs documentation. Added examples, release notes,
and NumPy-style docstrings to nc-time-axis classes (:issue:`62`, :pull:`87`).
By `Spencer Clark <https://github.com/spencerkclark>`_.
* Added some basic instructions for making a new release (:pull:`94`). By
`Spencer Clark <https://github.com/spencerkclark>`_.


v1.3.1 (June 14th, 2021)
Expand Down
43 changes: 43 additions & 0 deletions docs/releases.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
.. _releases:

Making a new release
====================

When making a new release of ``nc-time-axis``, it is best to follow these steps.
Note these are a trimmed-down version of the release steps for the ``Iris``
package, which can be found `here
<https://scitools-iris.readthedocs.io/en/stable/developers_guide/release.html>`_.

1. Create a release branch in the ``SciTools/nc-time-axis`` repository with the
spencerkclark marked this conversation as resolved.
Show resolved Hide resolved
name ``v{major release number}.{minor release number}.x``. This branch will
be used to make any final changes prior to the release. It will be merged
back into the ``main`` branch once the release is complete.
2. Check that the :ref:`release_notes` have been fully updated for the new
release. This includes adding a date for the new release where it currently
says "unreleased." This can also include formatting and other minor content
updates.
3. `Create a new tag in the GitHub
<https://github.com/SciTools/nc-time-axis/releases/new>`_ repository for the
new release. This should have the same name as the release branch.
4. Update the conda-forge feedstock for the new release. This involves making a
pull request to the `conda-forge/nc_time_axis-feedstock
<https://github.com/conda-forge/nc_time_axis-feedstock>`_ repository in which
the ``version`` and ``sha256`` are updated in the ``recipe/meta.yaml`` file.
The ``version`` should correspond to the new version of the release, and the
``sha256`` can be generated using the ``openssl`` tool as described `in the
tip in the conda-forge documentation
<https://conda-forge.org/docs/maintainer/adding_pkgs.html#step-by-step-instructions>`_::

curl -sL https://pypi.io/packages/source/n/nc-time-axis/nc-time-axis-vX.Y.Z.tar.gz | openssl sha256

Follow the checklist in the PR template, request reviews if necessary, and
then merge the PR.
5. Upload the release to `PyPI <https://pypi.org>`_. You can follow the
instructions `here
spencerkclark marked this conversation as resolved.
Show resolved Hide resolved
<https://scitools-iris.readthedocs.io/en/stable/developers_guide/release.html#update-pypi>`_.
spencerkclark marked this conversation as resolved.
Show resolved Hide resolved
6. Ensure the documentation has been built properly on `Read the Docs
<https://readthedocs.org>`_ and that the new release is an "active version."
7. Update the :ref:`release_notes` page to include a blank section for the next
release.
8. Merge the release branch into ``main``, but leave it available in case any
point releases are needed.
spencerkclark marked this conversation as resolved.
Show resolved Hide resolved