Skip to content

Latest commit

 

History

History
59 lines (42 loc) · 2.17 KB

HOWTORELEASE.rst

File metadata and controls

59 lines (42 loc) · 2.17 KB

Release Procedure

We follow semantic versioning, e.g., v1.0.0. A major version causes incompatible API changes, a minor version adds functionality, and a patch covers bug fixes.

  1. Create a new branch release-v1.0.0 with the version for the release.
  • Update CHANGELOG.rst
  • Make sure all new changes and features are reflected in the documentation.
  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. Tag a release and push to github:

    $ git tag -a v1.0.0 -m "Version 1.0.0"
    $ git push upstream main --tags
    
  4. We use Github Actions to automate the new release being published to PyPI. Simply confirm that the new release is reflected at https://pypi.org/project/climpred/. There is typically a delay, but check Github Actions if there's an issue, and otherwise 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. Next, update the stable branch with main. This will trigger a stable build for ReadTheDocs:

    $ git checkout stable
    $ git rebase main
    $ git push -f upstream 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 climpred conda-forge feedstock

  • Update version
  • Get sha256 from pypi.org for climpred
  • Check that requirements.txt from the main climpred repo is accounted for in meta.yaml from the feedstock.
  • Fill in the rest of information as described here
  • Commit and submit a PR