Skip to content

Release Instructions

Hanzhang Zeng edited this page Jun 25, 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 (e.g. 1.1.2) 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. Release the NuGet artifact to MyGet

    • Push a new branch with the name release/2.0.xxxxx and release/3.0.xxxxx in the repository.
    • Wait for the build success
    • Azure DevOps -> Releases -> release/x.x.xxxxx branch -> Publish Worker Environment NuGet -> Deploy
  9. Update Python Worker artifact version in Azure Functions Host

  10. Update Python Worker artifact version in Azure Functions 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

Checks when releasing to Azure Functions Host & Azure Functions Core Tools

  • Push a release/2.x.xxxxx and release/3.x.xxxxx branches in repository
  • Update the artifact version in Azure Functions Host
  • Update the artifact version in Azure Functions Core Tools
Clone this wiki locally