Release Procedure

  1. Clone xskillscore from xarray-contrib, not a personal fork.

  2. Create a new branch release-v0.0.xx with the version for the release.

    $ git checkout -b release-v0.0.xx

  • Update CHANGELOG.rst

  • Make sure all new changes, features are reflected in the documentation.

  • Update pyproject.toml and version in xskillscore/__init__

  1. Open a new pull request for this branch targeting main

  2. After all tests pass and the PR has been approved, merge the PR into main

  3. Clone the core repo and tag a release and push to github:

    $ git clone git@github.com:xarray-contrib/xskillscore.git
    $ cd xskillscore
    $ git tag -a v0.0.xx -m "Version 0.0.xx"
    $ git push origin main --tags
    
  4. A GitHub action will publish the release on PyPI. If that fails you can manually do it with the following:

    $ git clean -xfd  # remove any files not checked into git
    $ python setup.py sdist bdist_wheel --universal  # build package
    $ twine upload dist/*  # register and push to pypi
    
  5. Update the stable branch (used by ReadTheDocs):

    $ git checkout stable
    $ git rebase main
    $ git push -f origin stable
    $ git checkout main
    
  6. Go to https://readthedocs.org and add the new version to “Active Versions” under the version tab. Force-build “stable” if it isn’t already building.

  7. Update xskillscore conda-forge feedstock

  • Fork xskillscore-feedstock repository

  • Clone this fork and edit recipe:

    $ git clone git@github.com:username/xskillscore-feedstock.git
    $ cd xskillscore-feedstock
    $ cd recipe
    $ # edit meta.yaml
    
  • Update version

  • Get sha256 from pypi.org for xskillscore

  • Fill in the rest of information as described here

  • Commit and submit a PR