diff --git a/modules/jenkins/files/slave_scripts/pypi-extract-universal.py b/modules/jenkins/files/slave_scripts/pypi-extract-universal.py new file mode 100644 index 0000000000..7101c2edb5 --- /dev/null +++ b/modules/jenkins/files/slave_scripts/pypi-extract-universal.py @@ -0,0 +1,28 @@ +#!/usr/bin/python +# +# 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. +# +# Extract Python package name from setup.cfg + +import ConfigParser + +universal = False + +setup_cfg = ConfigParser.SafeConfigParser() +setup_cfg.read("setup.cfg") +if setup_cfg.has_section("wheel"): + universal = setup_cfg.getboolean("wheel", "universal") +if universal: + print("py2.py3") +else: + print("py27") diff --git a/modules/openstack_project/files/slave_scripts/pypi-upload.sh b/modules/jenkins/files/slave_scripts/pypi-tarball-upload.sh similarity index 100% rename from modules/openstack_project/files/slave_scripts/pypi-upload.sh rename to modules/jenkins/files/slave_scripts/pypi-tarball-upload.sh diff --git a/modules/jenkins/files/slave_scripts/pypi-wheel-upload.sh b/modules/jenkins/files/slave_scripts/pypi-wheel-upload.sh new file mode 100755 index 0000000000..7b235a94da --- /dev/null +++ b/modules/jenkins/files/slave_scripts/pypi-wheel-upload.sh @@ -0,0 +1,38 @@ +#!/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 supported python wheels and upload them 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` +# Look in the setup.cfg to see if this is a universal wheel or not +WHEELTYPE=`/usr/local/jenkins/slave_scripts/pypi-extract-universal.py` +FILENAME="$DISTNAME-$TAG.$WHEELTYPE-none-any.whl" + +rm -rf *.whl +curl --fail -o $FILENAME http://$TARBALL_SITE/$PROJECT/$FILENAME + +# Make sure we actually got a wheel +file -b $FILENAME | grep -i zip + +twine upload -r pypi $FILENAME diff --git a/modules/jenkins/files/slave_scripts/run-wheel.sh b/modules/jenkins/files/slave_scripts/run-wheel.sh new file mode 100644 index 0000000000..8286930c1b --- /dev/null +++ b/modules/jenkins/files/slave_scripts/run-wheel.sh @@ -0,0 +1,38 @@ +#!/bin/bash -xe + +# 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. + +org=$1 +project=$2 + +if [[ -z "$org" || -z "$project" ]] +then + echo "Usage: $0 ORG PROJECT" + echo + echo "ORG: The project organization (eg 'openstack')" + echo "PROJECT: The project name (eg 'nova')" + exit 1 +fi + +source /usr/local/jenkins/slave_scripts/select-mirror.sh $org $project + +rm -f dist/*.tar.gz +tox -evenv pip install wheel +tox -evenv python setup.py bdist_wheel + +echo "SHA1sum: " +sha1sum dist/* +echo "MD5sum: " +md5sum dist/* diff --git a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml index 145e3d4401..0a8e09854e 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml @@ -214,7 +214,10 @@ - builder: name: tarball builders: - - shell: "/usr/local/jenkins/slave_scripts/run-tarball.sh {github-org} {project}" + - shell: | + #!/bin/bash -xe + /usr/local/jenkins/slave_scripts/run-tarball.sh {github-org} {project} + /usr/local/jenkins/slave_scripts/run-wheel.sh {github-org} {project} - builder: name: devstack-checkout @@ -311,6 +314,17 @@ - target: 'tarballs/{project}/' source: 'dist/*.tar.gz' +- publisher: + name: wheel + publishers: + - archive: + artifacts: 'dist/*.whl' + - scp: + site: '{site}' + files: + - target: 'tarballs/{project}/' + source: 'dist/*.whl' + - publisher: name: war publishers: diff --git a/modules/openstack_project/files/jenkins_job_builder/config/pypi-jobs.yaml b/modules/openstack_project/files/jenkins_job_builder/config/pypi-jobs.yaml index f247f356ec..3e411b68ae 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/pypi-jobs.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/pypi-jobs.yaml @@ -1,12 +1,27 @@ - job-template: - name: '{name}-pypi-upload' + name: '{name}-pypi-both-upload' node: pypi builders: - revoke-sudo - gerrit-git-prep - shell: | - /usr/local/jenkins/slave_scripts/pypi-upload.sh {name} {tarball-site} + /usr/local/jenkins/slave_scripts/pypi-tarball-upload.sh {name} {tarball-site} + /usr/local/jenkins/slave_scripts/pypi-wheel-upload.sh {name} {tarball-site} + + publishers: + - console-log + + +- job-template: + name: '{name}-pypi-wheel-upload' + node: pypi + + builders: + - revoke-sudo + - gerrit-git-prep + - shell: | + /usr/local/jenkins/slave_scripts/pypi-wheel-upload.sh {name} {tarball-site} publishers: - console-log @@ -15,4 +30,5 @@ - job-group: name: pypi-jobs jobs: - - '{name}-pypi-upload' + - '{name}-pypi-both-upload' + - '{name}-pypi-wheel-upload' diff --git a/modules/openstack_project/files/jenkins_job_builder/config/python-jobs.yaml b/modules/openstack_project/files/jenkins_job_builder/config/python-jobs.yaml index dcec567030..e552167e7a 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/python-jobs.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/python-jobs.yaml @@ -200,6 +200,9 @@ - tarball: project: '{name}' site: '{tarball-site}' + - wheel: + project: '{name}' + site: '{tarball-site}' - console-log diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index 70036f5b31..4343fcb0f9 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -355,6 +355,36 @@ project-templates: post: - '{name}-infra-docs' + # Publish pre-releases as wheels and official releases as sdist and + # wheels, then sync to all of the appropriate mirrors. + - name: publish-to-pypi + pre-release: + - '{name}-tarball': + - '{name}-pypi-wheel-upload': + - post-mirror-python26 + - post-mirror-python27 + - post-mirror-python33 + release: + - '{name}-tarball': + - '{name}-pypi-both-upload': + - post-mirror-python26 + - post-mirror-python27 + - post-mirror-python33 + + # Publish pre-releases as wheels and official releases as sdist and + # wheels, then sync to the python 2 mirrors only. + - name: publish-to-pypi-2only + pre-release: + - '{name}-tarball': + - '{name}-pypi-wheel-upload': + - post-mirror-python26 + - post-mirror-python27 + release: + - '{name}-tarball': + - '{name}-pypi-both-upload': + - post-mirror-python26 + - post-mirror-python27 + jobs: - name: ^.*$ parameter-function: single_use_node @@ -714,6 +744,7 @@ projects: - name: pypy-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi check: - gate-cliff-tox-neutronclient-stable - gate-cliff-tox-neutronclient-tip @@ -727,14 +758,8 @@ projects: post: - hook-cliff-rtfd pre-release: - - cliff-tarball - hook-cliff-rtfd release: - - cliff-tarball: - - cliff-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - hook-cliff-rtfd - name: stackforge/driverlog @@ -1062,13 +1087,7 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate - pre-release: - - pycadf-tarball - release: - - pycadf-tarball: - - pycadf-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 + - name: publish-to-pypi-2only - name: openstack/sahara template: @@ -1076,20 +1095,15 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate-sahara + - name: publish-to-pypi check: - gate-sahara-pylint post: - hook-sahara-rtfd - sahara-upstream-translation-update pre-release: - - sahara-tarball - hook-sahara-rtfd release: - - sahara-tarball: - - sahara-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - hook-sahara-rtfd - sahara-merge-release-tags periodic: @@ -1110,17 +1124,12 @@ projects: - name: pypy-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi post: - hook-stevedore-rtfd pre-release: - - stevedore-tarball - hook-stevedore-rtfd release: - - stevedore-tarball: - - stevedore-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - hook-stevedore-rtfd - name: openstack/swift @@ -1162,20 +1171,13 @@ projects: - name: python3-jobs - name: openstack-server-publish-jobs - name: integrated-gate + - name: publish-to-pypi check: - gate-taskflow-tox-py26-sa7-mysql - gate-taskflow-tox-py27-sa8-mysql gate: - gate-taskflow-tox-py26-sa7-mysql - gate-taskflow-tox-py27-sa8-mysql - pre-release: - - taskflow-tarball - release: - - taskflow-tarball: - - taskflow-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/trove template: @@ -1213,11 +1215,13 @@ projects: - tuskar-tarball release: - tuskar-tarball: - - tuskar-pypi-upload + - tuskar-pypi-both-upload # Section: OpenStack client projects - name: openstack/python-barbicanclient + template: + - name: publish-to-pypi check: - gate-python-barbicanclient-pep8 - gate-python-barbicanclient-python26 @@ -1228,12 +1232,6 @@ projects: - gate-python-barbicanclient-python27 post: - python-barbicanclient-branch-tarball - release: - - python-barbicanclient-tarball: - - python-barbicanclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-ceilometerclient template: @@ -1242,6 +1240,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-ceilometerclient-python33 - gate-python-ceilometerclient-pypy @@ -1252,14 +1251,6 @@ projects: - gate-python-ceilometerclient-pypy - gate-devstack-dsvm-cells - gate-tempest-dsvm-postgres-full - pre-release: - - python-ceilometerclient-tarball - release: - - python-ceilometerclient-tarball: - - python-ceilometerclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-cinderclient template: @@ -1268,6 +1259,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-cinderclient-python33 - gate-python-cinderclient-pypy @@ -1285,14 +1277,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-cinderclient-tarball - release: - - python-cinderclient-tarball: - - python-cinderclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-ganttclient template: @@ -1300,6 +1284,7 @@ projects: - name: openstack-client-publish-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi-2only check: - check-devstack-dsvm-cells - check-tempest-dsvm-postgres-full @@ -1317,13 +1302,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-ganttclient-tarball - release: - - python-ganttclient-tarball: - - python-ganttclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - name: openstack/python-glanceclient template: @@ -1332,6 +1310,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-glanceclient-python33 - gate-python-glanceclient-pypy @@ -1352,14 +1331,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-glanceclient-tarball - release: - - python-glanceclient-tarball: - - python-glanceclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/python-heatclient @@ -1367,6 +1338,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-heatclient-pep8 - gate-python-heatclient-python26 @@ -1391,14 +1363,7 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-heatclient-tarball release: - - python-heatclient-tarball: - - python-heatclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - python-heatclient-docs - name: openstack/python-ironicclient @@ -1406,6 +1371,7 @@ projects: - name: python-jobs - name: openstack-client-publish-jobs - name: check-requirements + - name: publish-to-pypi check: - gate-python-ironicclient-python33 - gate-python-ironicclient-pypy @@ -1420,14 +1386,6 @@ projects: - gate-python-ironicclient-pypy - gate-tempest-dsvm-ironic - gate-tempest-dsvm-virtual-ironic - pre-release: - - python-ironicclient-tarball - release: - - python-ironicclient-tarball: - - python-ironicclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-keystoneclient template: @@ -1436,6 +1394,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-keystoneclient-python33 - check-devstack-dsvm-cells @@ -1456,18 +1415,11 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-keystoneclient-tarball - release: - - python-keystoneclient-tarball: - - python-keystoneclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-marconiclient template: - name: check-requirements + - name: publish-to-pypi check: - gate-python-marconiclient-pep8 - gate-python-marconiclient-python26 @@ -1482,14 +1434,6 @@ projects: - gate-python-marconiclient-pypy post: - python-marconiclient-branch-tarball - pre-release: - - python-marconiclient-tarball - release: - - python-marconiclient-tarball: - - python-marconiclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-neutronclient template: @@ -1498,6 +1442,7 @@ projects: - name: check-requirements - name: integrated-gate-neutron - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-neutronclient-python33 - gate-python-neutronclient-pypy @@ -1510,14 +1455,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-neutronclient-tarball - release: - - python-neutronclient-tarball: - - python-neutronclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-novaclient template: @@ -1526,6 +1463,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-novaclient-python33 - gate-python-novaclient-pypy @@ -1547,14 +1485,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-novaclient-tarball - release: - - python-novaclient-tarball: - - python-novaclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-openstackclient template: @@ -1563,16 +1493,9 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-openstackclient-python33 - pre-release: - - python-openstackclient-tarball - release: - - python-openstackclient-tarball: - - python-openstackclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-saharaclient template: @@ -1580,14 +1503,7 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate-sahara - pre-release: - - python-saharaclient-tarball - release: - - python-saharaclient-tarball: - - python-saharaclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 + - name: publish-to-pypi experimental: - gate-python-saharaclient-python33 - gate-python-saharaclient-pypy @@ -1599,6 +1515,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-swiftclient-python33 - gate-python-swiftclient-pypy @@ -1618,14 +1535,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - python-swiftclient-tarball - release: - - python-swiftclient-tarball: - - python-swiftclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/python-troveclient @@ -1633,6 +1542,7 @@ projects: - name: check-requirements - name: integrated-gate - name: stable-compat-jobs + - name: publish-to-pypi check: - gate-python-troveclient-pep8 - gate-python-troveclient-python26 @@ -1647,18 +1557,11 @@ projects: - gate-python-troveclient-pypy post: - python-troveclient-branch-tarball - pre-release: - - python-troveclient-tarball - release: - - python-troveclient-tarball: - - python-troveclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/python-tuskarclient template: - name: python-jobs + - name: publish-to-pypi check: - gate-python-tuskarclient-python33 check-tripleo: @@ -1667,11 +1570,6 @@ projects: - check-tripleo-overcloud-precise experimental-tripleo: - check-tripleo-ironic-undercloud-precise - pre-release: - - python-tuskarclient-tarball - release: - - python-tuskarclient-tarball: - - python-tuskarclient-pypi-upload # Section: Other OpenStack projects @@ -1679,6 +1577,7 @@ projects: - name: openstack/diskimage-builder template: - name: check-requirements + - name: publish-to-pypi check: - gate-diskimage-builder-pep8 - gate-diskimage-builder-python26 @@ -1701,14 +1600,6 @@ projects: post: - diskimage-builder-coverage - diskimage-builder-branch-tarball - pre-release: - - diskimage-builder-tarball - release: - - diskimage-builder-tarball: - - diskimage-builder-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/django_openstack_auth template: @@ -1723,7 +1614,7 @@ projects: - django_openstack_auth-tarball release: - django_openstack_auth-tarball: - - django_openstack_auth-pypi-upload + - django_openstack_auth-pypi-both-upload - name: stackforge/gertty check: @@ -1753,6 +1644,7 @@ projects: - name: openstack/heat-cfntools template: - name: check-requirements + - name: publish-to-pypi check: - gate-heat-cfntools-pep8 - gate-heat-cfntools-python26 @@ -1764,14 +1656,7 @@ projects: post: - heat-cfntools-branch-tarball - heat-cfntools-coverage - pre-release: - - heat-cfntools-tarball release: - - heat-cfntools-tarball: - - heat-cfntools-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - heat-cfntools-docs - name: openstack/heat-templates @@ -1787,18 +1672,12 @@ projects: - noop - name: openstack/openstack-doc-tools + template: + - name: publish-to-pypi check: - gate-openstack-doc-tools-pep8 gate: - gate-openstack-doc-tools-pep8 - pre-release: - - openstack-doc-tools-tarball - release: - - openstack-doc-tools-tarball: - - openstack-doc-tools-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/openstack-planet check: @@ -1811,6 +1690,7 @@ projects: - name: openstack/os-apply-config template: - name: check-requirements + - name: publish-to-pypi check: - gate-os-apply-config-pep8 - gate-os-apply-config-python26 @@ -1829,19 +1709,12 @@ projects: post: - os-apply-config-coverage - os-apply-config-branch-tarball - pre-release: - - os-apply-config-tarball - release: - - os-apply-config-tarball: - - os-apply-config-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/os-cloud-config template: - name: check-requirements + - name: publish-to-pypi check: - gate-os-cloud-config-pep8 - gate-os-cloud-config-python26 @@ -1860,19 +1733,12 @@ projects: post: - os-cloud-config-coverage - os-cloud-config-branch-tarball - pre-release: - - os-cloud-config-tarball - release: - - os-cloud-config-tarball: - - os-cloud-config-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/os-collect-config template: - name: check-requirements + - name: publish-to-pypi check: - gate-os-collect-config-pep8 - gate-os-collect-config-python26 @@ -1891,19 +1757,12 @@ projects: post: - os-collect-config-coverage - os-collect-config-branch-tarball - pre-release: - - os-collect-config-tarball - release: - - os-collect-config-tarball: - - os-collect-config-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/os-refresh-config template: - name: check-requirements + - name: publish-to-pypi check: - gate-os-refresh-config-pep8 - gate-os-refresh-config-python26 @@ -1922,33 +1781,18 @@ projects: post: - os-refresh-config-coverage - os-refresh-config-branch-tarball - pre-release: - - os-refresh-config-tarball - release: - - os-refresh-config-tarball: - - os-refresh-config-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/oslosphinx template: - name: check-requirements + - name: publish-to-pypi check: - gate-oslosphinx-pep8 gate: - gate-oslosphinx-pep8 post: - oslosphinx-branch-tarball - pre-release: - - oslosphinx-tarball - release: - - oslosphinx-tarball: - - oslosphinx-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/oslotest template: @@ -1957,6 +1801,7 @@ projects: - name: pypy-jobs - name: openstack-server-publish-jobs - name: check-requirements + - name: publish-to-pypi check: - check-oslotest-dsvm-diskimage-builder - check-oslotest-dsvm-oslo.config @@ -1967,14 +1812,6 @@ projects: - gate-oslotest-dsvm-oslo.config - gate-oslotest-dsvm-oslo.messaging - gate-oslotest-dsvm-tripleo-image-elements - pre-release: - - oslotest-tarball - release: - - oslotest-tarball: - - oslotest-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/oslo-incubator template: @@ -2000,6 +1837,7 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi check: - gate-oslo.config-python33 - check-devstack-dsvm-cells @@ -2008,19 +1846,11 @@ projects: - gate-oslo.config-python33 - gate-devstack-dsvm-cells - gate-oslotest-dsvm-oslo.config - pre-release: - - oslo.config-tarball experimental-tripleo: - check-tripleo-ironic-seed-precise - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - release: - - oslo.config-tarball: - - oslo.config-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/oslo.db template: @@ -2028,6 +1858,7 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi-2only check: - check-devstack-dsvm-cells - gate-tempest-dsvm-large-ops @@ -2043,13 +1874,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - oslo.db-tarball - release: - - oslo.db-tarball: - - oslo.db-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - name: openstack/oslo.i18n template: @@ -2057,6 +1881,7 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi check: - gate-oslo.i18n-python33 - check-devstack-dsvm-cells @@ -2065,19 +1890,11 @@ projects: - gate-oslo.i18n-python33 - gate-devstack-dsvm-cells - gate-oslotest-dsvm-oslo.i18n - pre-release: - - oslo.i18n-tarball experimental-tripleo: - check-tripleo-ironic-seed-precise - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - release: - - oslo.i18n-tarball: - - oslo.i18n-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/oslo.messaging template: @@ -2085,6 +1902,7 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi check: - check-devstack-dsvm-cells - gate-tempest-dsvm-large-ops @@ -2100,20 +1918,13 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - oslo.messaging-tarball - release: - - oslo.messaging-tarball: - - oslo.messaging-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/oslo.rootwrap template: - name: check-requirements - name: integrated-gate + - name: publish-to-pypi check: - gate-oslo.rootwrap-pep8 - gate-oslo.rootwrap-python26 @@ -2137,14 +1948,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - oslo.rootwrap-tarball - release: - - oslo.rootwrap-tarball: - - oslo.rootwrap-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/oslo.version template: @@ -2152,6 +1955,7 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi-2only check: - gate-oslo.version-pypy - gate-oslo.version-python33 @@ -2165,13 +1969,6 @@ projects: - check-tripleo-undercloud-precise - check-tripleo-ironic-undercloud-precise - check-tripleo-overcloud-precise - pre-release: - - oslo.version-tarball - release: - - oslo.version-tarball: - - oslo.version-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - name: openstack/oslo.vmware template: @@ -2179,17 +1976,10 @@ projects: - name: openstack-server-publish-jobs - name: check-requirements - name: integrated-gate + - name: publish-to-pypi check: - gate-oslo.vmware-requirements - gate-oslo.vmware-python33 - pre-release: - - oslo.vmware-tarball - release: - - oslo.vmware-tarball: - - oslo.vmware-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/requirements template: @@ -2233,6 +2023,7 @@ projects: - name: openstack/sahara-dashboard template: - name: check-requirements + - name: publish-to-pypi check: - gate-sahara-dashboard-pep8 - gate-sahara-dashboard-python26 @@ -2244,14 +2035,6 @@ projects: post: - sahara-dashboard-branch-tarball - sahara-dashboard-coverage - pre-release: - - sahara-dashboard-tarball - release: - - sahara-dashboard-tarball: - - sahara-dashboard-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 # TODO: add docs - name: openstack/sahara-extra @@ -2272,23 +2055,18 @@ projects: - name: openstack/sahara-image-elements template: - name: check-requirements + - name: publish-to-pypi check: - gate-sahara-image-elements-pep8 gate: - gate-sahara-image-elements-pep8 post: - sahara-image-elements-branch-tarball - pre-release: - - sahara-image-elements-tarball - release: - - sahara-image-elements-tarball: - - sahara-image-elements-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/swift-bench + template: + - name: publish-to-pypi check: - gate-swift-bench-pep8 - gate-swift-bench-python26 @@ -2299,14 +2077,6 @@ projects: - gate-swift-bench-python27 post: - swift-bench-branch-tarball - pre-release: - - swift-bench-tarball - release: - - swift-bench-tarball: - - swift-bench-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 #TODO: add docs - name: openstack/ironic-python-agent @@ -2430,6 +2200,8 @@ projects: - tripleo-heat-templates-tarball - name: openstack/tripleo-image-elements + template: + - name: publish-to-pypi check: - check-oslotest-dsvm-tripleo-image-elements check-tripleo: @@ -2443,14 +2215,6 @@ projects: - check-tripleo-overcloud-precise post: - tripleo-image-elements-branch-tarball - pre-release: - - tripleo-image-elements-tarball - release: - - tripleo-image-elements-tarball: - - tripleo-image-elements-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack/tripleo-incubator check: @@ -2489,6 +2253,8 @@ projects: # TODO: add docs - name: openstack/tuskar-ui + template: + - name: publish-to-pypi check: - gate-tuskar-ui-pep8 - gate-tuskar-ui-python26 @@ -2506,11 +2272,6 @@ projects: - check-tripleo-overcloud-precise post: - tuskar-ui-branch-tarball - pre-release: - - tuskar-ui-tarball - release: - - tuskar-ui-tarball: - - tuskar-ui-pypi-upload # Section: OpenStack API projects @@ -2611,6 +2372,8 @@ projects: # Section: OpenStack development projects - name: openstack-dev/bash8 + template: + - name: publish-to-pypi check: - gate-bash8-pep8 - gate-bash8-python26 @@ -2622,14 +2385,6 @@ projects: post: - bash8-branch-tarball - bash8-coverage - pre-release: - - bash8-tarball - release: - - bash8-tarball: - - bash8-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-dev/cookiecutter check: @@ -2689,6 +2444,7 @@ projects: - name: openstack-dev/hacking template: - name: python-jobs + - name: publish-to-pypi check: - gate-hacking-python33 - gate-hacking-pypy @@ -2701,14 +2457,8 @@ projects: - hacking-docs pre-release: - hacking-docs - - hacking-tarball release: - hacking-docs - - hacking-tarball: - - hacking-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-dev/heat-cfnclient check: @@ -2736,6 +2486,7 @@ projects: template: - name: python-jobs - name: integrated-gate + - name: publish-to-pypi check: - gate-pbr-python33 - gate-pbr-pypy @@ -2763,14 +2514,8 @@ projects: - pbr-docs pre-release: - pbr-docs - - pbr-tarball release: - pbr-docs - - pbr-tarball: - - pbr-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-dev/sandbox check: @@ -2803,6 +2548,8 @@ projects: - noop - name: openstack-infra/bugdaystats + template: + - name: publish-to-pypi check: - gate-bugdaystats-pep8 gate: @@ -2810,14 +2557,6 @@ projects: post: - bugdaystats-branch-tarball - bugdaystats-coverage - pre-release: - - bugdaystats-tarball - release: - - bugdaystats-tarball: - - bugdaystats-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/config check: @@ -2902,18 +2641,13 @@ projects: - name: openstack-infra/gear template: - name: python-jobs + - name: publish-to-pypi post: - hook-gear-rtfd pre-release: - - gear-tarball - hook-gear-rtfd release: - hook-gear-rtfd - - gear-tarball: - - gear-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/gearman-plugin check: @@ -2948,34 +2682,22 @@ projects: - gate-gerrit-powered-agenda-python33 - name: openstack-infra/gerritbot + template: + - name: publish-to-pypi check: - gate-gerritbot-pep8 gate: - gate-gerritbot-pep8 post: - gerritbot-branch-tarball - pre-release: - - gerritbot-tarball - release: - - gerritbot-tarball: - - gerritbot-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/gerritlib + template: + - name: publish-to-pypi check: - gate-gerritlib-pep8 gate: - gate-gerritlib-pep8 - pre-release: - - gerritlib-tarball - release: - - gerritlib-tarball: - - gerritlib-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/gitdm check: @@ -2986,6 +2708,8 @@ projects: - periodic-gitdm - name: openstack-infra/git-review + template: + - name: publish-to-pypi check: - gate-git-review-pep8 - gate-git-review-python26 @@ -2998,14 +2722,6 @@ projects: - gate-git-review-python33 post: - git-review-branch-tarball - pre-release: - - git-review-tarball - release: - - git-review-tarball: - - git-review-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/groups check: @@ -3036,36 +2752,23 @@ projects: - noop - name: openstack-infra/jeepyb + template: + - name: publish-to-pypi check: - gate-jeepyb-pep8 gate: - gate-jeepyb-pep8 - pre-release: - - jeepyb-tarball - release: - - jeepyb-tarball: - - jeepyb-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/jenkins-job-builder template: - name: python-jobs - name: python3-jobs + - name: publish-to-pypi check: - jenkins-job-builder-compare-xml - jenkins-job-builder-coverage post: - jenkins-job-builder-docs - pre-release: - - jenkins-job-builder-tarball - release: - - jenkins-job-builder-tarball: - - jenkins-job-builder-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/lodgeit check: @@ -3082,32 +2785,19 @@ projects: - name: openstack-infra/nodepool template: - name: python-jobs + - name: publish-to-pypi post: - nodepool-docs - pre-release: - - nodepool-tarball - release: - - nodepool-tarball: - - nodepool-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/nose-html-output + template: + - name: publish-to-pypi check: - noop gate: - noop post: - nose-html-output-branch-tarball - pre-release: - - nose-html-output-tarball - release: - - nose-html-output-tarball: - - nose-html-output-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/odsreg check: @@ -3172,6 +2862,8 @@ projects: - noop - name: openstack-infra/pypi-mirror + template: + - name: publish-to-pypi check: - gate-pypi-mirror-pep8 - check-requirements-integration-dsvm @@ -3182,14 +2874,6 @@ projects: - post-mirror-python26 - post-mirror-python27 - post-mirror-python33 - pre-release: - - pypi-mirror-tarball - release: - - pypi-mirror-tarball: - - pypi-mirror-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-jenkins # docs is missing a build_sphinx entry point in setup.py @@ -3211,7 +2895,7 @@ projects: - python-jenkins-coverage release: - python-jenkins-tarball: - - python-jenkins-pypi-upload + - python-jenkins-pypi-both-upload - name: openstack-infra/releasestatus check: @@ -3233,6 +2917,8 @@ projects: - gate-release-tools-pypy - name: openstack-infra/reviewday + template: + - name: publish-to-pypi check: - gate-reviewday-pep8 gate: @@ -3240,62 +2926,38 @@ projects: post: - reviewday-branch-tarball - reviewday-coverage - pre-release: - - reviewday-tarball - release: - - reviewday-tarball: - - reviewday-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/reviewstats + template: + - name: publish-to-pypi template: - name: python-jobs check: - gate-reviewstats-python33 gate: - gate-reviewstats-python33 - pre-release: - - reviewstats-tarball - release: - - reviewstats-tarball: - - reviewstats-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/statusbot + template: + - name: publish-to-pypi check: - gate-statusbot-pep8 gate: - gate-statusbot-pep8 post: - statusbot-branch-tarball - pre-release: - - statusbot-tarball - release: - - statusbot-tarball: - - statusbot-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/storyboard + template: + - name: publish-to-pypi template: - name: python-jobs post: - storyboard-docs pre-release: - storyboard-docs - - storyboard-tarball release: - storyboard-docs - - storyboard-tarball: - - storyboard-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: openstack-infra/storyboard-webclient check: @@ -3332,6 +2994,8 @@ projects: - zmq-event-publisher-jenkinsci-upload - name: openstack-infra/zuul + template: + - name: publish-to-pypi template: - name: python-jobs check: @@ -3340,14 +3004,8 @@ projects: - zuul-docs pre-release: - zuul-docs - - zuul-tarball release: - zuul-docs - - zuul-tarball: - - zuul-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 periodic: - periodic-test @@ -3378,6 +3036,8 @@ projects: - noop - name: stackforge/billingstack + template: + - name: publish-to-pypi check: - gate-billingstack-pep8 - gate-billingstack-python26 @@ -3390,16 +3050,10 @@ projects: - hook-billingstack-rtfd - billingstack-coverage - billingstack-branch-tarball - pre-release: - - billingstack-tarball - release: - - billingstack-tarball: - - billingstack-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/bindep + template: + - name: publish-to-pypi check: - gate-bindep-pep8 - gate-bindep-python26 @@ -3411,14 +3065,6 @@ projects: post: - bindep-branch-tarball - bindep-coverage - pre-release: - - bindep-tarball - release: - - bindep-tarball: - - bindep-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/bufunfa check: @@ -3661,6 +3307,8 @@ projects: - gate-cookbook-openstack-telemetry-chef-unit - name: stackforge/designate + template: + - name: publish-to-pypi check: - gate-designate-pep8 - gate-designate-python26 @@ -3673,14 +3321,6 @@ projects: - hook-designate-rtfd - designate-coverage - designate-branch-tarball - pre-release: - - designate-tarball - release: - - designate-tarball: - - designate-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/designate-specs check: @@ -3880,6 +3520,8 @@ projects: - noop - name: stackforge/mistral + template: + - name: publish-to-pypi check: - gate-mistral-pep8 - gate-mistral-python26 @@ -3894,29 +3536,16 @@ projects: - gate-mistral-docs post: - mistral-branch-tarball - pre-release: - - mistral-tarball - release: - - mistral-tarball: - - mistral-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/mistral-dashboard template: - name: python-jobs - name: python3-jobs - pre-release: - - mistral-dashboard-tarball - release: - - mistral-dashboard-tarball: - - mistral-dashboard-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 + - name: publish-to-pypi - name: stackforge/mistral-extra + template: + - name: publish-to-pypi check: - gate-mistral-extra-pep8 - gate-mistral-extra-python26 @@ -3930,16 +3559,10 @@ projects: - gate-mistral-extra-docs post: - mistral-extra-branch-tarball - pre-release: - - mistral-extra-tarball - release: - - mistral-extra-tarball: - - mistral-extra-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-mistralclient + template: + - name: publish-to-pypi check: - gate-python-mistralclient-pep8 - gate-python-mistralclient-python26 @@ -3953,16 +3576,10 @@ projects: - gate-python-mistralclient-docs post: - python-mistralclient-branch-tarball - pre-release: - - python-mistralclient-tarball - release: - - python-mistralclient-tarball: - - python-mistralclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/magnetodb + template: + - name: publish-to-pypi check: - gate-magnetodb-pep8 - gate-magnetodb-python26 @@ -3977,13 +3594,6 @@ projects: - gate-magnetodb-devstack-dsvm post: - magnetodb-branch-tarball - pre-release: - - magnetodb-tarball - release: - - magnetodb-tarball: - - magnetodb-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - name: stackforge/MRaaS check: @@ -4007,10 +3617,8 @@ projects: - murano-branch-tarball - hook-murano-rtfd pre-release: - - murano-tarball - hook-murano-rtfd release: - - murano-tarball - hook-murano-rtfd - name: stackforge/murano-common @@ -4144,6 +3752,8 @@ projects: - gate-packstack-python27 - name: stackforge/pecan + template: + - name: publish-to-pypi check: - gate-pecan-pep8 - gate-pecan-python26 @@ -4169,14 +3779,8 @@ projects: post: - pecan-branch-tarball pre-release: - - pecan-tarball - hook-pecan-rtfd release: - - pecan-tarball: - - pecan-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - hook-pecan-rtfd - name: stackforge/powervc-driver @@ -4441,14 +4045,7 @@ projects: template: - name: python-jobs - name: check-requirements - pre-release: - - sahara-guestagent-tarball - release: - - sahara-guestagent-tarball: - - sahara-guestagent-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 + - name: publish-to-pypi - name: stackforge/puppet-swift check: @@ -4497,6 +4094,8 @@ projects: - gate-puppet-vswitch-puppet-unit-3.1 - name: stackforge/pyghmi + template: + - name: publish-to-pypi check: - gate-pyghmi-pep8 - gate-pyghmi-requirements @@ -4505,14 +4104,6 @@ projects: - gate-pyghmi-requirements post: - pyghmi-branch-tarball - pre-release: - - pyghmi-tarball - release: - - pyghmi-tarball: - - pyghmi-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-blazarclient template: @@ -4533,6 +4124,8 @@ projects: - python-blazarclient-tarball - name: stackforge/python-designateclient + template: + - name: publish-to-pypi check: - gate-python-designateclient-pep8 - gate-python-designateclient-python26 @@ -4545,34 +4138,21 @@ projects: - hook-python-designateclient-rtfd - python-designateclient-coverage - python-designateclient-branch-tarball - pre-release: - - python-designateclient-tarball - release: - - python-designateclient-tarball: - - python-designateclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-kiteclient template: - name: python-jobs + - name: publish-to-pypi check: - gate-python-kiteclient-requirements - gate-python-kiteclient-python33 gate: - gate-python-kiteclient-requirements - gate-python-kiteclient-python33 - pre-release: - - python-kiteclient-tarball - release: - - python-kiteclient-tarball: - - python-kiteclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-libraclient + template: + - name: publish-to-pypi check: - gate-python-libraclient-pep8 - gate-python-libraclient-python27 @@ -4585,14 +4165,8 @@ projects: - python-libraclient-branch-tarball pre-release: - hook-python-libraclient-rtfd - - python-libraclient-tarball release: - hook-python-libraclient-rtfd - - python-libraclient-tarball: - - python-libraclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-manilaclient check: @@ -4609,6 +4183,8 @@ projects: - python-manilaclient-coverage - name: stackforge/python-muranoclient + template: + - name: publish-to-pypi check: - gate-python-muranoclient-pep8 - gate-python-muranoclient-python26 @@ -4622,14 +4198,6 @@ projects: - gate-python-muranoclient-python27 post: - python-muranoclient-branch-tarball - pre-release: - - python-muranoclient-tarball - release: - - python-muranoclient-tarball: - - python-muranoclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-rallyclient template: @@ -4651,36 +4219,23 @@ projects: template: - name: python-jobs - name: check-requirements + - name: publish-to-pypi check: - gate-python-solumclient-python33 - gate-python-solumclient-pypy gate: - gate-python-solumclient-python33 - gate-python-solumclient-pypy - pre-release: - - python-solumclient-tarball - release: - - python-solumclient-tarball: - - python-solumclient-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/solum-dashboard template: - name: python-jobs - name: check-requirements + - name: publish-to-pypi-2only check: - gate-solum-dashboard-pypy gate: - gate-solum-dashboard-pypy - pre-release: - - solum-dashboard-tarball - release: - - solum-dashboard-tarball: - - solum-dashboard-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - name: stackforge/rally template: @@ -4758,6 +4313,8 @@ projects: - solum-tarball - name: stackforge/sphinxcontrib-docbookrestapi + template: + - name: publish-to-pypi check: - gate-sphinxcontrib-docbookrestapi-pep8 - gate-sphinxcontrib-docbookrestapi-python26 @@ -4768,16 +4325,10 @@ projects: - gate-sphinxcontrib-docbookrestapi-python26 - gate-sphinxcontrib-docbookrestapi-python27 - gate-sphinxcontrib-docbookrestapi-python33 - pre-release: - - sphinxcontrib-docbookrestapi-tarball - release: - - sphinxcontrib-docbookrestapi-tarball: - - sphinxcontrib-docbookrestapi-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/sqlalchemy-migrate + template: + - name: publish-to-pypi check: - gate-sqlalchemy-migrate-python26 - gate-sqlalchemy-migrate-python27 @@ -4793,14 +4344,8 @@ projects: - sqlalchemy-migrate-branch-tarball - hook-sqlalchemy-migrate-rtfd pre-release: - - sqlalchemy-migrate-tarball - hook-sqlalchemy-migrate-rtfd release: - - sqlalchemy-migrate-tarball: - - sqlalchemy-migrate-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - hook-sqlalchemy-migrate-rtfd - name: stackforge/staccato @@ -4828,7 +4373,7 @@ projects: - hook-stackalytics-rtfd release: - stackalytics-tarball: - - stackalytics-pypi-upload + - stackalytics-pypi-both-upload - hook-stackalytics-rtfd - name: stackforge/swift3 @@ -4850,6 +4395,8 @@ projects: - swiftsync-tarball - name: stackforge/tomograph + template: + - name: publish-to-pypi-2only check: - gate-tomograph-pep8 - gate-tomograph-python26 @@ -4862,15 +4409,10 @@ projects: - gate-tomograph-python27 post: - tomograph-branch-tarball - pre-release: - - tomograph-tarball - release: - - tomograph-tarball: - - tomograph-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - name: stackforge/tooz + template: + - name: publish-to-pypi check: - gate-tooz-pep8 - gate-tooz-python26 @@ -4883,11 +4425,6 @@ projects: - gate-tooz-python33 post: - tooz-branch-tarball - pre-release: - - tooz-tarball - release: - - tooz-tarball: - - tooz-pypi-upload - name: stackforge/turbo-hipster check: @@ -4911,6 +4448,8 @@ projects: - gate-warm-python27 - name: stackforge/wsme + template: + - name: publish-to-pypi check: - gate-wsme-python26 - gate-wsme-python27 @@ -4923,18 +4462,6 @@ projects: - gate-wsme-pep8 post: - wsme-branch-tarball - pre-release: - - wsme-tarball: - - wsme-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - release: - - wsme-tarball: - - wsme-pypi-upload: - - post-mirror-python26 - - post-mirror-python27 - - post-mirror-python33 - name: stackforge/python-openstacksdk template: