Skip to content

Release process

Jesse Claven edited this page Apr 18, 2024 · 26 revisions
  1. cd somewhere and get a clean version of alibi:

    git clone git@github.com:SeldonIO/alibi.git

  2. Bump the version in alibi/version.py to the release version (e.g. 0.1.1.dev0 to 0.1.1)

  3. Add any changes from the previous release to CHANGELOG.md, follow the style of Keep a changelog. Also update CITATION.cff version and date-released fields. Bonus: If you pip install grip and then run grip in the command line from the root directory of alibi, it will serve README.md in the browser. You can change the path to /CHANGELOG.md to check if changes render properly. Github may rate-limit this so you may need to set up a personal access token.

  4. Commit the change with a message e.g.

    git commit -m 'v0.1.1'

  5. Add a tag

    git tag v0.1.1

  6. Push the change and the tag

    git push

    git push origin v0.1.1

  7. Build the python package

    make build_pypi

  8. Publish the package on test PyPI to check everything is working fine (run pip install twine if you don't have twine installed already)

    make push_pypi_test

  9. Check that it can be installed from the test PyPI, in a clean conda/virtual environment run

    pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple 'alibi[all]' --no-cache-dir

  10. As a minimum check that you can import alibi, check alibi.__version__ and alibi.__path__ (NB: you may need to cd out of the current directory to import the newly installed version of alibi rather than the sources residing in the alibi folder - to make sure, check the alibi.__path__ variable) and from alibi.explainers import * without issues. If everything works, publish to real PyPI

    make push_pypi

  11. On Github a release will be automatically published when you pushed the tag, edit the release (go to Releases -> click on the new tag -> Create release from tag) and copy the changes relevant to this release from CHANGELOG.md

  12. Bump the version in alibi/version.py to the next development version (e.g. 0.1.1 to 0.1.2.dev0) and push

Clone this wiki locally