Skip to content

Release Instructions

Varad Meru edited this page May 1, 2020 · 45 revisions

Release Instructions

Flow

Python Library -> Python Worker -> Function Host -> Functions Docker -> Toolings

Please follow these steps in order to make a release

  1. Ensure that buildbots in the dev branch are green.

  2. Increase the version field in setup.py.

  3. Update setup.py to include latest host binaries when available for the current sprint (https://github.com/Azure/azure-functions-host/releases) and, if needed, update corresponding dotnet version in azure-pipelines.yml.

  4. Push the version and host binary updates to the master branch.

  5. Verify that the buildbots are still green.

  6. Create a git tag on the master branch with the GitHub release note and correspond it to the new version.

  7. Make a PyPI release:

    $ rm dist/*
    $ python setup.py sdist bdist_wheel
    $ twine upload dist/*

    Twine is a PyPI upload tool that can be installed with pip

    Wheel is used for generating bdist_wheel on packaging

    $ pip install twine wheel
  8. NuGet release from Azure DevOps to push the latest Python worker to MyGet.

    • Go to Azure DevOps -> Release -> Latest Master Build -> Deploy (Push to MyGet)
  9. Update the Function Host.

  10. Update the Docker Image.

  11. Update the Core-Tools.

Checks before release

  • Update the version field in setup.py
  • Update the packages field in setup.py if you're including a new module
  • Inspect the build pipeline artifact and make sure everything you want is in there
  • Tag the master branch
  • Make a release note on GitHub