-
Notifications
You must be signed in to change notification settings - Fork 117
Release Instructions
https://azfunc.visualstudio.com/Azure%20Functions/_release?_a=releases&view=mine&definitionId=42
- Create a new release pipeline
- Fill in NewWorkerVersion parameter, for example, 1.1.8
- Deploy each step and go through instructions in manual intervention steps
Python Library -> Python Worker -> Function Host -> Functions Docker -> Toolings
-
Ensure that build bots in the dev branch are green.
-
Create a new release branch -
release/X.Y.Zand checkout.- We use a version of GitHub flow for release - creating a branch for release.
- Use command
git flow release startto create a new local release branch.. .
-
Increase the version field in
setup.py. -
Update
setup.pyto include the latest host binaries when available for the current sprint (https://github.com/Azure/azure-functions-host/releases) and, if needed, update the corresponding dotnet version inazure-pipelines.yml.- Replacing the
WEBHOST_URLto the latest host release.
- Replacing the
-
Push the commit with the new version to the
release/X.Y.Zbranch.- Use command
git flow release publishto push the branch into remote repository.. . - If the above command fails (either due to origin not set correctly or unavailable), please use
git pushto push the release branch to Azure. Push the version and host binary updates to the master branch.
- Use command
-
Verify that the build bots are still green. Check the following pipelines:
-
Create a Git tag (e.g. 1.1.2) on the dev branch with the GitHub release note and correspond it to the new version.
-
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
-
Release the NuGet artifact to MyGet
- Push a new branch with the name
release/2.X.Y.Zandrelease/3.X.Y.Zin the repository. - Wait for the build success
-
Azure DevOps -> Releases ->
release/x.X.Y.Zbranch -> Publish Worker Environment NuGet -> Deploy
- Push a new branch with the name
-
Update Python Worker artifact version in Azure Functions Host
- For v2 release: in branch v2.x, build/python.props and test/WebJobs.Script.Tests/WebJobs.Script.Tests.csproj
- For v3 release: in branch dev, build/python.props and test/WebJobs.Script.Tests/WebJobs.Script.Tests.csproj
-
Update Python Worker artifact version in Azure Functions Core Tools
- For v2 release: in branch dev, src/Azure.Functions.Cli/Azure.Functions.Cli.csproj
- For v3 release: in branch v3.x, src/Azure.Functions.Cli/Azure.Functions.Cli.csproj
- 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
- Push a
release/2.x.xxxxxandrelease/3.x.xxxxxbranches in repository - Update the artifact version in Azure Functions Host
- Update the artifact version in Azure Functions Core Tools