From ab17e720609b30921f330510cf4933c185c7cebd Mon Sep 17 00:00:00 2001 From: David Huard Date: Wed, 3 Feb 2021 17:45:44 -0500 Subject: [PATCH] added how to instructions to cut a new release --- doc/conf.py | 2 +- doc/index.rst | 1 + doc/releases.rst | 26 ++++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 doc/releases.rst diff --git a/doc/conf.py b/doc/conf.py index 3d38e08..c635a00 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -58,7 +58,7 @@ # To avoid installing xESMF and all its dependencies when building doc # https://stackoverflow.com/a/15912502/8729698 -autodoc_mock_imports = ['numpy', 'xarray', 'scipy', 'ESMF'] +autodoc_mock_imports = ['numpy', 'xarray', 'scipy', 'ESMF', 'dask'] # avoid automatic execution for notebooks nbsphinx_execute = 'never' diff --git a/doc/index.rst b/doc/index.rst index 3f20d5f..ba5559a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -58,6 +58,7 @@ Contents changes notebooks/Backend + releases .. toctree:: :maxdepth: 1 diff --git a/doc/releases.rst b/doc/releases.rst new file mode 100644 index 0000000..9981be7 --- /dev/null +++ b/doc/releases.rst @@ -0,0 +1,26 @@ +Release how-to +============== + +Here are the step by step instructions to release a new version of xESMF. + +#. Make sure :file:`CHANGES.rst` is up to date and includes a section on the version to be released; +#. On GitHub, go the Releases_ page and click on :guilabel:`Draft a new release`; +#. Enter new version in :guilabel:`Tag version` (e.g. v..); +#. Enter the :guilabel:`Release title` (e.g. the same tag); +#. Copy the relevant section of :file:`CHANGES.rst` in the description; +#. Click :guilabel:`Publish release`; +#. Go to Actions_ and in the left-hand menu select :guilabel:`Upload xesmf to PyPi`; +#. Click on the release you just made; +#. At the bottom of the page, download the :guilabel:`artifact` locally; +#. Unzip it; +#. Run shell command ``sha256sum`` on `xesmf-.tar.gz` and copy the checksum string; +#. Go to the conda-forge repo and edit the `recipe/meta.yml `_ file; +#. Update the version on the first line to the latest release; +#. Update the `sha256` value in the `source` section to the checksum just calculated; +#. Enter a commit message, e.g. (Update version to ); +#. Submit the pull request (:guilabel:`Propose changes`); +#. Get an approval from a maintainer to merge the pull request. + + +.. _Releases: https://github.com/pangeo-data/xESMF/releases +.. _Actions: https://github.com/pangeo-data/xESMF/actions