Skip to content

Release process

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

    git clone [email protected]:SeldonIO/alibi-detect.git

  2. Bump the version in alibi-detect/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. Update the version and date entries in the "Citations" section at the bottom of the README.md. Bonus: If you pip install grip and then run grip in the command line from the root directory of alibi-detect, 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. Also update CITATION.cff version and date-released fields.

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

    git commit -m 'v0.1.1'

  6. Add a tag

    git tag v0.1.1

  7. Push the change and the tag

    git push

    git push origin v0.1.1

    (if you name the upstream SeldonIO repo something other than origin, e.g. upstream, you will need to use this in place of origin)

  8. Build the python package

    make build_pypi

  9. 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

  10. 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-detect[all]" --no-cache-dir

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

    make push_pypi

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

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

Clone this wiki locally