-
Notifications
You must be signed in to change notification settings - Fork 68
Release Instructions
Varad Meru edited this page May 6, 2020
·
32 revisions
Please follow these steps in order to make a release:
- Check the prerequisites listed below.
- Ensure that build bots in the
dev
branch are green. - Create a new release branch -
release/X.Y.Z
and checkout.- We use a version of GitHub flow for release - creating a branch for release.
- Increase the version field in
azure.functions.__init__.py
. - Push the commit with the new version to the
release/X.Y.Z
branch. - Make a TestPyPI release from the
release/X.Y.Z
branch, this will be used in azure-functions-worker E2E test. Check /Prerequisites/ below:
rm dist/*
python setup.py sdist bdist_wheel
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Verify in the Cheese shoppe: azure-functions · TestPyPI
- Start a new run from the dev branch of the azure-functions-python-worker - Using the Run Pipelines option and choosing the dev branch. This will run the E2E pipeline with the new Test version of the python library, as defined in the linux_devops_build.sh file.
- Wait for the azure-functions-python-worker E2E to run with the new azure-functions library on test.pypi.
- Once green - proceed.
- If red, then add the hotfix in the release branch, publish the new wheel, and test again.
- Make an official PyPi release:
rm dist/*
python setup.py sdist bdist_wheel
twine upload dist/*
Verify the release in the Cheese shoppe: azure-functions · PyPI
6. Tag the release/X.Y.Z
commit when making a GitHub release (e.g. 1.1.0).
7. Merge the release/X.Y.Z
back to master
and dev
branches.
- Create a new release/X.Y.Z branch in the azure-functions-python-worker repo.
- Change the
azure-functions
version in the worker repo and create a PR to the worker dev branch (e.g. Sample PR) - This changes the production version used in the worker. - Ensure that build bots are green for step 4 (tests are currently coupled between the worker and library repos).
- 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
- You may need to set up the
~/.pypirc
file for your test.pypi credentials.(Instructions here)