Clark Boylan eb2f91421d Use twine to upload python package to pypi.
* modules/jenkins/files/slave_scripts/pypi-extract-metadata.py: Twine
deals with metadata for us, this script is no longer needed.

* modules/jenkins/files/slave_scripts/pypi-upload.sh: Use twine instead
of calculating md5sum ourselves and extracting metadata then uploading
with curl.

* modules/openstack_project/manifests/pypi_slave.pp: Insteall twine
(replaces pkginfo dependency).

* modules/openstack_project/templates/pypirc.erb: Twine can use a pypirc
to determine where and with what credentials to upload pacakges.
Create a .pypirc for twine.

Change-Id: I8a6aaf5d2c77151a60c2c660e1ff8570fc9255ea
2013-09-27 19:14:05 -07:00

37 lines
1.2 KiB
Bash
Executable File

#!/bin/bash -xe
#
# Copyright 2012 Hewlett-Packard Development Company, L.P.
# Copyright 2013 OpenStack Foundation
#
# Licensed 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.
#
# Retrieve a python sdist and upload it to pypi with Curl.
PROJECT=$1
TARBALL_SITE=$2
TAG=`echo $ZUUL_REF | sed 's/^refs.tags.//'`
# Look in the setup.cfg to determine if a package name is specified, but
# fall back on the project name if necessary
DISTNAME=`/usr/local/jenkins/slave_scripts/pypi-extract-name.py \
|| echo $PROJECT`
FILENAME="$DISTNAME-$TAG.tar.gz"
rm -rf *tar.gz
curl --fail -o $FILENAME http://$TARBALL_SITE/$PROJECT/$FILENAME
# Make sure we actually got a gzipped file
file -b $FILENAME | grep gzip
twine upload $FILENAME