new package release processs
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/4b3d0b1e Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/4b3d0b1e Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/4b3d0b1e Branch: refs/heads/trunk Commit: 4b3d0b1e32ec7313b968afd957afc2bd227c68eb Parents: 4e044d8 Author: Anthony Shaw <anthonys...@apache.org> Authored: Fri Sep 23 13:10:42 2016 +1000 Committer: Anthony Shaw <anthonys...@apache.org> Committed: Fri Sep 23 13:10:42 2016 +1000 ---------------------------------------------------------------------- dist/deploy.sh | 27 +++++++++++++++++++++++++++ docs/committer_guide.rst | 18 +++++------------- 2 files changed, 32 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/4b3d0b1e/dist/deploy.sh ---------------------------------------------------------------------- diff --git a/dist/deploy.sh b/dist/deploy.sh new file mode 100755 index 0000000..b5eebb4 --- /dev/null +++ b/dist/deploy.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +cd .. + +VERSION=`python setup.py --version` + +cd dist + +echo "Uploading packages" +ls *$VERSION*.tar.bz2 *$VERSION*.tar.gz *$VERSION*.zip *$VERSION*.whl *$VERSION*.asc + +twine upload *$VERSION*.tar.bz2 *$VERSION*.tar.gz *$VERSION*.zip *$VERSION*.whl *$VERSION*.asc \ No newline at end of file http://git-wip-us.apache.org/repos/asf/libcloud/blob/4b3d0b1e/docs/committer_guide.rst ---------------------------------------------------------------------- diff --git a/docs/committer_guide.rst b/docs/committer_guide.rst index 69333b7..0ee16a2 100644 --- a/docs/committer_guide.rst +++ b/docs/committer_guide.rst @@ -182,21 +182,13 @@ key. 7. Publishing package to PyPi ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -**For consistency and security reasons packages are always uploaded to PyPi -manually using the web interface and not using the setup.py upload -command.** +We have a script that runs uploads the signed Python source files to PyPi. It uses twine, so ensure +you have twine available in your path `which twine` before running. Twine can be downloaded from https://pypi.python.org/pypi/twine -* Run ``python setup.py register`` command. This will register a new - version on PyPi, but it won't upload the actual release artifacts. - -* Go to the `PyPi release management page`_, find a new release and click on - "files" link. +.. sourcecode:: bash -* Once you are there, upload all the release artifacts (.tar.bz2, .tar.gz, - .zip, and .whl). For ``File Type`` select ``Source`` (except for ``.whl`` - file where you should select ``Python Wheel``) and for ``Python Version`` - select ``Any (ie. pure Python)``. Make sure to also select and upload a PGP - signature for each file (``PGP signature (.asc)`` field). + cd dist + ./deploy.sh Once all the files have been uploaded, the page should look similar to the screenshot below.