-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Release Process
Update the version in the following files. Note that there may be multiple instances of the version in each of the files.
The README.rst for the bundle packages have the exact version of the packages they are bundling.
/azure/README.rst
/azure-mgmt/README.rst
The setup.py for every package has a version.
/azure/setup.py
/azure-common/setup.py
/azure-mgmt/setup.py
/azure-mgmt-common/setup.py
/azure-mgmt-compute/setup.py
/azure-mgmt-network/setup.py
/azure-mgmt-nspkg/setup.py
/azure-mgmt-resource/setup.py
/azure-mgmt-storage/setup.py
/azure-nspkg/setup.py
/azure-servicebus/setup.py
/azure-servicemanagement-legacy/setup.py
Several packages (non-bundle and non-nspkg) expose a __version__
attribute.
/azure-common/azure/common/__init__.py
/azure-mgmt-common/azure/mgmt/common/__init__.py
/azure-mgmt-compute/azure/mgmt/compute/__init__.py
/azure-mgmt-network/azure/mgmt/network/__init__.py
/azure-mgmt-resource/azure/mgmt/resource/__init__.py
/azure-mgmt-storage/azure/mgmt/storage/__init__.py
/azure-servicebus/azure/servicebus/constants.py
/azure-servicemanagement-legacy/azure/servicemanagement/constants.py
The documentation configuration has two strings for version and release
/doc/conf.py
The changelog should be updated with new features, bug fixes, and contributor list.
/changelog.txt
The test recordings include the version number in the User-Agent header of each request. You may be able to find/replace those, or you may have to create new recordings.
In any case, make sure that the tests succeed in playback mode after you've incremented the version.
- Trigger rebuild of readthedocs.org. This should happen as part of a push, but if not you can post using the below:
curl -X POST http://azure-sdk-for-python.readthedocs.org
Check if the following page needs an update: https://github.com/Microsoft/PTVS/wiki/AzureSDK
http://azure.microsoft.com/en-us/develop/python/
https://github.com/Azure/azure-sdk-for-python/releases
- Create a new release, set the contents to the change log entry for the new version.
To build all the packages:
./Build.ps1
This will create the source distribution files in the /dist
folder and the wheel files in the /dist/wheelhouse
folder.
If you get an general error when creating the wheel, make sure that your setup.py
files don't have a Unicode BOM.
Once you've uploaded to PyPI, there's no way to overwrite the package. In case of problems, you'll need to increment the version number. To make sure everything works fine, upload and then test installing from the test server first. Make sure you install the dependencies manually, as they won't be present on the test server.
Beware of the pip cache! If you see a message like this while testing installation of the package you've uploaded to pip:
Using cached azure_storage-0.20.0-py2.py3-none-any.whl
Then delete the %localappdata%/pip folder and test again.
- Create an account for the test server
- Update .pypirc:
[test]
repository = https://testpypi.python.org/pypi
username = <yourusername>
password = <yourpassword>
To upload to the test server:
c:\python34\scripts\twine upload -r test dist\*.zip
c:\python34\scripts\twine upload -r test dist\wheelhouse\*.whl
Make sure you already have the non-azure dependencies installed, otherwise they may not be found on the test server. Don't install using --no-deps
, now that the azure package is a bundle of several azure packages, we want to test installation of all of them.
pip install python-dateutil
pip install requests
pip install futures (needed on python 2.x only)
To install from the test server:
pip install azure -i https://testpypi.python.org/pypi
To upload to production:
c:\python34\scripts\twine upload dist\*.zip
c:\python34\scripts\twine upload dist\wheelhouse\*.whl
To install from production:
pip install azure
Get access to http://webpi.codeplex.com/ (ask Chris Sfanos) and fork the repo.
Make the following changes:
- Update date and version in Src/Python/WebProductList_Python.xml
- Update date and version in Src/azuresdk/AzureSDK_Partners/WebProductList_AzureSDK_Partners.xml
To build:
- Run
Tools/build.cmd
- News Item for PyTools
- Post to python-announce-list@python.org