Release Process

This page outlines the process for creating a new Fairlearn release. The following steps assume git remote’s origin points to fairlearn/fairlearn (in practical terms, that the work is being done on a clone of fairlearn/fairlearn and not on a fork).

  1. Create the branch for the release:

    git checkout -b release/v<x.y.z>

  2. Push the branch to GitHub:

    git push -u origin release/v<x.y.z>

  3. On the release branch, create a PR to:

    1. Update the version in __init__.py to x.y.z

    2. Update the version in the ReadMe

  4. Run the release pipeline

    1. Ensure that you have selected the correct release branch

    2. Run first on ‘Test’ which will upload to <https://test.pypi.org>

    3. Finally, run the release pipeline set to ‘Production’ which will upload to <https://pypi.org/>

  5. On the release branch, place an annotated tag:

    git tag -a v<x.y.z> -m "v<x.y.z> release"

  6. Push the tag to GitHub:

    git push origin v<x.y.z>

  7. On the main branch, create a PR to:

    1. Update the version in __init__.py to xy.z+1.dev0

    2. Update the ‘current stable release’ sentence in the ReadMe to link to v<x.y.z>

    3. Ensure that smv_tag_whitelist in docs/conf.py will pick up the new release

    4. Update docs/static_landing_page/ so that all the links point to the new release