- job-template:
    name: '{name}-pypi-upload'
    node: pypi

    builders:
      - shell: |
          #!/bin/bash -xe
          TAG=`echo $ZUUL_REF | sed 's/^refs.tags.//'`
          FILENAME="{name}-$TAG.tar.gz"

          rm -rf *tar.gz
          curl --fail -o $FILENAME http://{tarball-site}/{name}/$FILENAME
          # Make sure we actually got a gzipped file
          file -b $FILENAME | grep gzip

      - shell: |
          /usr/local/jenkins/slave_scripts/pypi-upload.sh {name}

    publishers:
      - console-log


- job-group:
    name: pypi-jobs
    jobs:
      - '{name}-pypi-upload'

- job-template:
    name: '{name}-pypi-upload'
    node: pypi

    builders:
      - gerrit-git-prep
      - shell: |
          /usr/local/jenkins/slave_scripts/pypi-upload.sh {name} {tarball-site}

    publishers:
      - console-log


- job-group:
    name: pypi-jobs
    jobs:
      - '{name}-pypi-upload'

Determine the package name when uploading to PyPI
Determine the package name when uploading to PyPI

* modules/jenkins/files/slave_scripts/pypi-extract-name.py: Short
new script to safely parse the sdist package name out of a setup.cfg
file.

* modules/jenkins/files/slave_scripts/pypi-upload.sh: Subsume the
guts of the first shell builder from the pypi-upload job, extended
to call pypi-extract-name.py and fall back to the name of the Git
project if it fails--this is needed for cases where those names
differ, for example in capitalization.

* .../jenkins_job_builder/config/pypi-jobs.yaml: Clone and checkout
the Git tag which triggered this upload to PyPI, and then only call
the modified pypi-upload.sh script since it should now analyze the
state of the setup.cfg to determine how to retrieve the
corresponding tarball.

Change-Id: I43843e6e74b918e9c68f4b27958ec605774668ff
