From: JinWang An Date: Mon, 28 Dec 2020 04:46:22 +0000 (+0900) Subject: Imported Upstream version 4.3.0 X-Git-Tag: upstream/4.3.0^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5f0a580da877906b88bcba723d76eed445cf5503;p=platform%2Fupstream%2Fpython3-pbr.git Imported Upstream version 4.3.0 --- diff --git a/.zuul.yaml b/.zuul.yaml index 67a39c4..0541e40 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,7 +1,127 @@ +- job: + name: pbr-installation-devstack-base + parent: legacy-dsvm-base + timeout: 7800 + required-projects: + - openstack-dev/devstack + - openstack-dev/grenade + - openstack-dev/pbr + - openstack-infra/devstack-gate + - openstack-infra/tripleo-ci + - openstack/aodh + - openstack/automaton + - openstack/ceilometer + - openstack/ceilometermiddleware + - openstack/cinder + - openstack/cliff + - openstack/debtcollector + - openstack/dib-utils + - openstack/diskimage-builder + - openstack/django_openstack_auth + - openstack/futurist + - openstack/glance + - openstack/glance_store + - openstack/heat + - openstack/heat-cfntools + - openstack/heat-templates + - openstack/horizon + - openstack/ironic + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/keystone + - openstack/keystoneauth + - openstack/keystonemiddleware + - openstack/manila + - openstack/manila-ui + - openstack/neutron + - openstack/neutron-fwaas + - openstack/neutron-lbaas + - openstack/neutron-vpnaas + - openstack/nova + - openstack/octavia + - openstack/os-apply-config + - openstack/os-brick + - openstack/os-client-config + - openstack/os-collect-config + - openstack/os-net-config + - openstack/os-refresh-config + - openstack/osc-lib + - openstack/oslo.cache + - openstack/oslo.concurrency + - openstack/oslo.config + - openstack/oslo.context + - openstack/oslo.db + - openstack/oslo.i18n + - openstack/oslo.log + - openstack/oslo.messaging + - openstack/oslo.middleware + - openstack/oslo.policy + - openstack/oslo.reports + - openstack/oslo.rootwrap + - openstack/oslo.serialization + - openstack/oslo.service + - openstack/oslo.utils + - openstack/oslo.versionedobjects + - openstack/oslo.vmware + - openstack/pycadf + - openstack/python-cinderclient + - openstack/python-glanceclient + - openstack/python-heatclient + - openstack/python-ironicclient + - openstack/python-keystoneclient + - openstack/python-manilaclient + - openstack/python-neutronclient + - openstack/python-novaclient + - openstack/python-openstackclient + - openstack/python-saharaclient + - openstack/python-swiftclient + - openstack/python-troveclient + - openstack/python-zaqarclient + - openstack/requirements + - openstack/sahara + - openstack/sahara-dashboard + - openstack/stevedore + - openstack/swift + - openstack/taskflow + - openstack/tempest + - openstack/tooz + - openstack/tripleo-heat-templates + - openstack/tripleo-image-elements + - openstack/trove + - openstack/trove-dashboard + - openstack/zaqar + +- job: + name: pbr-installation-devstack + parent: pbr-installation-devstack-base + run: playbooks/legacy/pbr-installation-devstack/run.yaml + post-run: playbooks/legacy/pbr-installation-devstack/post.yaml + +- job: + name: pbr-installation-upstream-devstack + parent: pbr-installation-devstack-base + run: playbooks/legacy/pbr-installation-upstream-devstack/run.yaml + post-run: playbooks/legacy/pbr-installation-upstream-devstack/post.yaml + - project: + templates: + - openstack-python-jobs + - openstack-python35-jobs + - openstack-python36-jobs + - lib-forward-testing + - lib-forward-testing-python3 + - publish-openstack-docs-pti + - periodic-stable-jobs check: jobs: - openstack-tox-lower-constraints + - pbr-installation-devstack + - pbr-installation-upstream-devstack gate: jobs: - openstack-tox-lower-constraints + - pbr-installation-devstack + - pbr-installation-upstream-devstack + post: + jobs: + - openstack-tox-cover diff --git a/AUTHORS b/AUTHORS index 5fdea42..8d53f46 100644 --- a/AUTHORS +++ b/AUTHORS @@ -16,6 +16,7 @@ Brian Waldon Cao Xuan Hoang Chang Bo Guo ChangBo Guo(gcb) +Chris Dent Christian Berendt Chuck Short Clark Boylan @@ -80,6 +81,7 @@ Mehdi Abaakouk Michael Basnight Michael Still Mike Heald +Moises Guimaraes de Medeiros Monty Taylor Nikhil Manchanda Octavian Ciuhandu @@ -114,17 +116,18 @@ Thomas Grainger Thomas Herve Thomas Leaman Thomas Morin +Tim Burke Tim Simpson Timothy Chavez Toilal Vasudev Kamath Vincent Untz Vishvananda Ishaya +Wei Tie YAMAMOTO Takashi Yaguang Tang Yuriy Taraday Zhongyue Luo -Zuul alexpilotti cbjchen@cn.ibm.com dineshbhor diff --git a/ChangeLog b/ChangeLog index 3641c3c..4f3640d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,22 @@ CHANGES ======= +4.3.0 +----- + +* Remove my\_ip from generated wsgi script +* Fix typo in contribution instructions +* Add release note for fix to bug 1786306 +* Move pbr-installation jobs in-tree +* Support subdirectory in the url +* remove pypy jobs +* add lib-forward-testing-python3 test job +* add python 3.6 unit test job +* switch documentation job to new PTI +* import zuul job settings from project-config +* Ignore Zuul when generating AUTHORS +* tox: Re-add cover target + 4.2.0 ----- diff --git a/PKG-INFO b/PKG-INFO index 9b34816..50d222f 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,14 +1,14 @@ Metadata-Version: 2.1 Name: pbr -Version: 4.2.0 +Version: 4.3.0 Summary: Python Build Reasonableness Home-page: https://docs.openstack.org/pbr/latest/ Author: OpenStack Author-email: openstack-dev@lists.openstack.org License: UNKNOWN +Project-URL: Documentation, https://docs.openstack.org/pbr/ Project-URL: Bug Tracker, https://bugs.launchpad.net/pbr/ Project-URL: Source Code, https://git.openstack.org/cgit/openstack-dev/pbr/ -Project-URL: Documentation, https://docs.openstack.org/pbr/ Description: Introduction ============ diff --git a/doc/source/contributor/index.rst b/doc/source/contributor/index.rst index b7b4a75..95daead 100644 --- a/doc/source/contributor/index.rst +++ b/doc/source/contributor/index.rst @@ -27,7 +27,7 @@ are listed in ``requirements.txt`` and the requirements for testing are in pip install -r requirements.txt -r test-requirements.txt -In you go this route, you can interact with the testr command directly. +If you go this route, you can interact with the testr command directly. Running ``testr run`` will run the entire test suite. ``testr run --parallel`` will run it in parallel (this is the default incantation tox uses). More information about testr can be found at: http://wiki.openstack.org/testr diff --git a/pbr.egg-info/PKG-INFO b/pbr.egg-info/PKG-INFO index 9b34816..50d222f 100644 --- a/pbr.egg-info/PKG-INFO +++ b/pbr.egg-info/PKG-INFO @@ -1,14 +1,14 @@ Metadata-Version: 2.1 Name: pbr -Version: 4.2.0 +Version: 4.3.0 Summary: Python Build Reasonableness Home-page: https://docs.openstack.org/pbr/latest/ Author: OpenStack Author-email: openstack-dev@lists.openstack.org License: UNKNOWN +Project-URL: Documentation, https://docs.openstack.org/pbr/ Project-URL: Bug Tracker, https://bugs.launchpad.net/pbr/ Project-URL: Source Code, https://git.openstack.org/cgit/openstack-dev/pbr/ -Project-URL: Documentation, https://docs.openstack.org/pbr/ Description: Introduction ============ diff --git a/pbr.egg-info/SOURCES.txt b/pbr.egg-info/SOURCES.txt index 88cc210..ff5be82 100644 --- a/pbr.egg-info/SOURCES.txt +++ b/pbr.egg-info/SOURCES.txt @@ -89,9 +89,14 @@ pbr/tests/testpackage/pbr_testpackage/wsgi.py pbr/tests/testpackage/pbr_testpackage/package_data/1.txt pbr/tests/testpackage/pbr_testpackage/package_data/2.txt pbr/tests/testpackage/src/testext.c +playbooks/legacy/pbr-installation-devstack/post.yaml +playbooks/legacy/pbr-installation-devstack/run.yaml +playbooks/legacy/pbr-installation-upstream-devstack/post.yaml +playbooks/legacy/pbr-installation-upstream-devstack/run.yaml releasenotes/notes/deprecate-pyN-requirements-364655c38fa5b780.yaml releasenotes/notes/deprecate-testr-nose-integration-56e3e11248d946fc.yaml releasenotes/notes/remove-command-hooks-907d9c2325f306ca.yaml +releasenotes/notes/support-vcs-uris-with-subdirectories-20ad68b6138f72ca.yaml releasenotes/notes/v_version-457b38c8679c5868.yaml releasenotes/source/conf.py releasenotes/source/index.rst diff --git a/pbr/git.py b/pbr/git.py index f2855dd..6e18ada 100644 --- a/pbr/git.py +++ b/pbr/git.py @@ -300,7 +300,7 @@ def generate_authors(git_dir=None, dest_dir='.', option_dict=dict()): and not os.access(new_authors, os.W_OK)): return log.info('[pbr] Generating AUTHORS') - ignore_emails = '(jenkins@review|infra@lists|jenkins@openstack)' + ignore_emails = '((jenkins|zuul)@review|infra@lists|jenkins@openstack)' if git_dir is None: git_dir = _get_git_directory() if git_dir: diff --git a/pbr/packaging.py b/pbr/packaging.py index 8656a6c..dc0b60c 100644 --- a/pbr/packaging.py +++ b/pbr/packaging.py @@ -137,13 +137,15 @@ def parse_requirements(requirements_files=None, strip_markers=False): # such as: # -e git://github.com/openstack/nova/master#egg=nova # -e git://github.com/openstack/nova/master#egg=nova-1.2.3 + # -e git+https://foo.com/zipball#egg=bar&subdirectory=baz if re.match(r'\s*-e\s+', line): - line = re.sub(r'\s*-e\s+.*#egg=(.*)$', egg_fragment, line) + line = re.sub(r'\s*-e\s+.*#egg=([^&]+).*$', egg_fragment, line) # such as: # http://github.com/openstack/nova/zipball/master#egg=nova # http://github.com/openstack/nova/zipball/master#egg=nova-1.2.3 + # git+https://foo.com/zipball#egg=bar&subdirectory=baz elif re.match(r'\s*(https?|git(\+(https|ssh))?):', line): - line = re.sub(r'\s*(https?|git(\+(https|ssh))?):.*#egg=(.*)$', + line = re.sub(r'\s*(https?|git(\+(https|ssh))?):.*#egg=([^&]+).*$', egg_fragment, line) # -f lines are for index locations, and don't get used here elif re.match(r'\s*-f\s+', line): @@ -310,8 +312,6 @@ if __name__ == "__main__": import sys import wsgiref.simple_server as wss - my_ip = socket.gethostbyname(socket.gethostname()) - parser = argparse.ArgumentParser( description=%(import_target)s.__doc__, formatter_class=argparse.ArgumentDefaultsHelpFormatter, diff --git a/pbr/tests/test_packaging.py b/pbr/tests/test_packaging.py index 5512d5d..9bd91ae 100644 --- a/pbr/tests/test_packaging.py +++ b/pbr/tests/test_packaging.py @@ -579,6 +579,11 @@ class ParseRequirementsTestScenarios(base.BaseTestCase): ('versioned', {'versioned': True, 'expected': ['bar>=1.2.3']}) ] + subdirectory_scenarios = [ + ('non-subdirectory', {'has_subdirectory': False}), + ('has-subdirectory', {'has_subdirectory': True}) + ] + scenarios = [ ('normal', {'url': "foo\nbar", 'expected': ['foo', 'bar']}), ('normal_with_comments', { @@ -591,7 +596,7 @@ class ParseRequirementsTestScenarios(base.BaseTestCase): ('ssh_egg_url', {'url': 'git+ssh://foo.com/zipball#egg=bar'}), ('git_https_egg_url', {'url': 'git+https://foo.com/zipball#egg=bar'}), ('http_egg_url', {'url': 'https://foo.com/zipball#egg=bar'}), - ], versioned_scenarios) + ], versioned_scenarios, subdirectory_scenarios) scenarios = scenarios + testscenarios.multiply_scenarios( [ @@ -601,7 +606,7 @@ class ParseRequirementsTestScenarios(base.BaseTestCase): ('non-editable', {'editable': False}), ('editable', {'editable': True}), ], - versioned_scenarios) + versioned_scenarios, subdirectory_scenarios) def test_parse_requirements(self): tmp_file = tempfile.NamedTemporaryFile() @@ -610,6 +615,8 @@ class ParseRequirementsTestScenarios(base.BaseTestCase): req_string = ("-e %s" % req_string) if hasattr(self, 'versioned') and self.versioned: req_string = ("%s-1.2.3" % req_string) + if hasattr(self, 'has_subdirectory') and self.has_subdirectory: + req_string = ("%s&subdirectory=baz" % req_string) with open(tmp_file.name, 'w') as fh: fh.write(req_string) self.assertEqual(self.expected, diff --git a/playbooks/legacy/pbr-installation-devstack/post.yaml b/playbooks/legacy/pbr-installation-devstack/post.yaml new file mode 100644 index 0000000..e07f551 --- /dev/null +++ b/playbooks/legacy/pbr-installation-devstack/post.yaml @@ -0,0 +1,15 @@ +- hosts: primary + tasks: + + - name: Copy files from {{ ansible_user_dir }}/workspace/ on node + synchronize: + src: '{{ ansible_user_dir }}/workspace/' + dest: '{{ zuul.executor.log_root }}' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/logs/** + - --include=*/ + - --exclude=* + - --prune-empty-dirs diff --git a/playbooks/legacy/pbr-installation-devstack/run.yaml b/playbooks/legacy/pbr-installation-devstack/run.yaml new file mode 100644 index 0000000..9b48a34 --- /dev/null +++ b/playbooks/legacy/pbr-installation-devstack/run.yaml @@ -0,0 +1,137 @@ +- hosts: all + name: Autoconverted job legacy-pbr-installation-dsvm from old job gate-pbr-installation-dsvm-ubuntu-xenial + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + # Define the entire projects list here so that what we + # test requirements against is independent of what d-g + # thinks is relevant. + export PROJECTS="openstack-infra/devstack-gate $PROJECTS" + export PROJECTS="openstack-dev/devstack $PROJECTS" + export PROJECTS="openstack-dev/grenade $PROJECTS" + export PROJECTS="openstack-dev/pbr $PROJECTS" + export PROJECTS="openstack-infra/tripleo-ci $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/automaton $PROJECTS" + export PROJECTS="openstack/ceilometer $PROJECTS" + export PROJECTS="openstack/ceilometermiddleware $PROJECTS" + export PROJECTS="openstack/cinder $PROJECTS" + export PROJECTS="openstack/cliff $PROJECTS" + export PROJECTS="openstack/debtcollector $PROJECTS" + export PROJECTS="openstack/dib-utils $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/django_openstack_auth $PROJECTS" + export PROJECTS="openstack/futurist $PROJECTS" + export PROJECTS="openstack/glance $PROJECTS" + export PROJECTS="openstack/glance_store $PROJECTS" + export PROJECTS="openstack/heat $PROJECTS" + export PROJECTS="openstack/heat-cfntools $PROJECTS" + export PROJECTS="openstack/heat-templates $PROJECTS" + export PROJECTS="openstack/horizon $PROJECTS" + export PROJECTS="openstack/ironic $PROJECTS" + export PROJECTS="openstack/ironic-lib $PROJECTS" + export PROJECTS="openstack/ironic-python-agent $PROJECTS" + export PROJECTS="openstack/keystone $PROJECTS" + export PROJECTS="openstack/keystoneauth $PROJECTS" + export PROJECTS="openstack/keystonemiddleware $PROJECTS" + export PROJECTS="openstack/manila $PROJECTS" + export PROJECTS="openstack/manila-ui $PROJECTS" + export PROJECTS="openstack/zaqar $PROJECTS" + export PROJECTS="openstack/neutron $PROJECTS" + export PROJECTS="openstack/neutron-fwaas $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + export PROJECTS="openstack/neutron-vpnaas $PROJECTS" + export PROJECTS="openstack/nova $PROJECTS" + export PROJECTS="openstack/os-apply-config $PROJECTS" + export PROJECTS="openstack/os-brick $PROJECTS" + export PROJECTS="openstack/os-client-config $PROJECTS" + export PROJECTS="openstack/os-collect-config $PROJECTS" + export PROJECTS="openstack/os-net-config $PROJECTS" + export PROJECTS="openstack/os-refresh-config $PROJECTS" + export PROJECTS="openstack/osc-lib $PROJECTS" + export PROJECTS="openstack/oslo.cache $PROJECTS" + export PROJECTS="openstack/oslo.concurrency $PROJECTS" + export PROJECTS="openstack/oslo.config $PROJECTS" + export PROJECTS="openstack/oslo.context $PROJECTS" + export PROJECTS="openstack/oslo.db $PROJECTS" + export PROJECTS="openstack/oslo.i18n $PROJECTS" + export PROJECTS="openstack/oslo.log $PROJECTS" + export PROJECTS="openstack/oslo.messaging $PROJECTS" + export PROJECTS="openstack/oslo.middleware $PROJECTS" + export PROJECTS="openstack/oslo.policy $PROJECTS" + export PROJECTS="openstack/oslo.reports $PROJECTS" + export PROJECTS="openstack/oslo.rootwrap $PROJECTS" + export PROJECTS="openstack/oslo.utils $PROJECTS" + export PROJECTS="openstack/oslo.serialization $PROJECTS" + export PROJECTS="openstack/oslo.service $PROJECTS" + export PROJECTS="openstack/oslo.versionedobjects $PROJECTS" + export PROJECTS="openstack/oslo.vmware $PROJECTS" + export PROJECTS="openstack/pycadf $PROJECTS" + export PROJECTS="openstack/python-cinderclient $PROJECTS" + export PROJECTS="openstack/python-glanceclient $PROJECTS" + export PROJECTS="openstack/python-heatclient $PROJECTS" + export PROJECTS="openstack/python-ironicclient $PROJECTS" + export PROJECTS="openstack/python-keystoneclient $PROJECTS" + export PROJECTS="openstack/python-manilaclient $PROJECTS" + export PROJECTS="openstack/python-zaqarclient $PROJECTS" + export PROJECTS="openstack/python-neutronclient $PROJECTS" + export PROJECTS="openstack/python-novaclient $PROJECTS" + export PROJECTS="openstack/python-openstackclient $PROJECTS" + export PROJECTS="openstack/python-saharaclient $PROJECTS" + export PROJECTS="openstack/python-swiftclient $PROJECTS" + export PROJECTS="openstack/python-troveclient $PROJECTS" + export PROJECTS="openstack/requirements $PROJECTS" + export PROJECTS="openstack/sahara $PROJECTS" + export PROJECTS="openstack/sahara-dashboard $PROJECTS" + export PROJECTS="openstack/stevedore $PROJECTS" + export PROJECTS="openstack/swift $PROJECTS" + export PROJECTS="openstack/taskflow $PROJECTS" + export PROJECTS="openstack/tempest $PROJECTS" + export PROJECTS="openstack/tooz $PROJECTS" + export PROJECTS="openstack/tripleo-heat-templates $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/trove $PROJECTS" + export PROJECTS="openstack/trove-dashboard $PROJECTS" + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=0 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_REQS_INTEGRATION=1 + export PIP_PROCESS_DEPENDENCY_LINKS=1 + if [ "" = "-upstream" ]; then + export PBR_PIP_VERSION=git+https://github.com/pypa/pip.git#egg=pip + fi + function gate_hook { + set -x + bash -xe $BASE/new/pbr/tools/integration.sh $(cat $BASE/new/requirements/projects.txt) + } + export -f gate_hook + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/pbr-installation-upstream-devstack/post.yaml b/playbooks/legacy/pbr-installation-upstream-devstack/post.yaml new file mode 100644 index 0000000..e07f551 --- /dev/null +++ b/playbooks/legacy/pbr-installation-upstream-devstack/post.yaml @@ -0,0 +1,15 @@ +- hosts: primary + tasks: + + - name: Copy files from {{ ansible_user_dir }}/workspace/ on node + synchronize: + src: '{{ ansible_user_dir }}/workspace/' + dest: '{{ zuul.executor.log_root }}' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/logs/** + - --include=*/ + - --exclude=* + - --prune-empty-dirs diff --git a/playbooks/legacy/pbr-installation-upstream-devstack/run.yaml b/playbooks/legacy/pbr-installation-upstream-devstack/run.yaml new file mode 100644 index 0000000..a8fb806 --- /dev/null +++ b/playbooks/legacy/pbr-installation-upstream-devstack/run.yaml @@ -0,0 +1,137 @@ +- hosts: all + name: Autoconverted job legacy-pbr-installation-dsvm-upstream from old job gate-pbr-installation-dsvm-upstream-ubuntu-xenial + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + # Define the entire projects list here so that what we + # test requirements against is independent of what d-g + # thinks is relevant. + export PROJECTS="openstack-infra/devstack-gate $PROJECTS" + export PROJECTS="openstack-dev/devstack $PROJECTS" + export PROJECTS="openstack-dev/grenade $PROJECTS" + export PROJECTS="openstack-dev/pbr $PROJECTS" + export PROJECTS="openstack-infra/tripleo-ci $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/automaton $PROJECTS" + export PROJECTS="openstack/ceilometer $PROJECTS" + export PROJECTS="openstack/ceilometermiddleware $PROJECTS" + export PROJECTS="openstack/cinder $PROJECTS" + export PROJECTS="openstack/cliff $PROJECTS" + export PROJECTS="openstack/debtcollector $PROJECTS" + export PROJECTS="openstack/dib-utils $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/django_openstack_auth $PROJECTS" + export PROJECTS="openstack/futurist $PROJECTS" + export PROJECTS="openstack/glance $PROJECTS" + export PROJECTS="openstack/glance_store $PROJECTS" + export PROJECTS="openstack/heat $PROJECTS" + export PROJECTS="openstack/heat-cfntools $PROJECTS" + export PROJECTS="openstack/heat-templates $PROJECTS" + export PROJECTS="openstack/horizon $PROJECTS" + export PROJECTS="openstack/ironic $PROJECTS" + export PROJECTS="openstack/ironic-lib $PROJECTS" + export PROJECTS="openstack/ironic-python-agent $PROJECTS" + export PROJECTS="openstack/keystone $PROJECTS" + export PROJECTS="openstack/keystoneauth $PROJECTS" + export PROJECTS="openstack/keystonemiddleware $PROJECTS" + export PROJECTS="openstack/manila $PROJECTS" + export PROJECTS="openstack/manila-ui $PROJECTS" + export PROJECTS="openstack/zaqar $PROJECTS" + export PROJECTS="openstack/neutron $PROJECTS" + export PROJECTS="openstack/neutron-fwaas $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + export PROJECTS="openstack/neutron-vpnaas $PROJECTS" + export PROJECTS="openstack/nova $PROJECTS" + export PROJECTS="openstack/os-apply-config $PROJECTS" + export PROJECTS="openstack/os-brick $PROJECTS" + export PROJECTS="openstack/os-client-config $PROJECTS" + export PROJECTS="openstack/os-collect-config $PROJECTS" + export PROJECTS="openstack/os-net-config $PROJECTS" + export PROJECTS="openstack/os-refresh-config $PROJECTS" + export PROJECTS="openstack/osc-lib $PROJECTS" + export PROJECTS="openstack/oslo.cache $PROJECTS" + export PROJECTS="openstack/oslo.concurrency $PROJECTS" + export PROJECTS="openstack/oslo.config $PROJECTS" + export PROJECTS="openstack/oslo.context $PROJECTS" + export PROJECTS="openstack/oslo.db $PROJECTS" + export PROJECTS="openstack/oslo.i18n $PROJECTS" + export PROJECTS="openstack/oslo.log $PROJECTS" + export PROJECTS="openstack/oslo.messaging $PROJECTS" + export PROJECTS="openstack/oslo.middleware $PROJECTS" + export PROJECTS="openstack/oslo.policy $PROJECTS" + export PROJECTS="openstack/oslo.reports $PROJECTS" + export PROJECTS="openstack/oslo.rootwrap $PROJECTS" + export PROJECTS="openstack/oslo.utils $PROJECTS" + export PROJECTS="openstack/oslo.serialization $PROJECTS" + export PROJECTS="openstack/oslo.service $PROJECTS" + export PROJECTS="openstack/oslo.versionedobjects $PROJECTS" + export PROJECTS="openstack/oslo.vmware $PROJECTS" + export PROJECTS="openstack/pycadf $PROJECTS" + export PROJECTS="openstack/python-cinderclient $PROJECTS" + export PROJECTS="openstack/python-glanceclient $PROJECTS" + export PROJECTS="openstack/python-heatclient $PROJECTS" + export PROJECTS="openstack/python-ironicclient $PROJECTS" + export PROJECTS="openstack/python-keystoneclient $PROJECTS" + export PROJECTS="openstack/python-manilaclient $PROJECTS" + export PROJECTS="openstack/python-zaqarclient $PROJECTS" + export PROJECTS="openstack/python-neutronclient $PROJECTS" + export PROJECTS="openstack/python-novaclient $PROJECTS" + export PROJECTS="openstack/python-openstackclient $PROJECTS" + export PROJECTS="openstack/python-saharaclient $PROJECTS" + export PROJECTS="openstack/python-swiftclient $PROJECTS" + export PROJECTS="openstack/python-troveclient $PROJECTS" + export PROJECTS="openstack/requirements $PROJECTS" + export PROJECTS="openstack/sahara $PROJECTS" + export PROJECTS="openstack/sahara-dashboard $PROJECTS" + export PROJECTS="openstack/stevedore $PROJECTS" + export PROJECTS="openstack/swift $PROJECTS" + export PROJECTS="openstack/taskflow $PROJECTS" + export PROJECTS="openstack/tempest $PROJECTS" + export PROJECTS="openstack/tooz $PROJECTS" + export PROJECTS="openstack/tripleo-heat-templates $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/trove $PROJECTS" + export PROJECTS="openstack/trove-dashboard $PROJECTS" + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=0 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_REQS_INTEGRATION=1 + export PIP_PROCESS_DEPENDENCY_LINKS=1 + if [ "-upstream" = "-upstream" ]; then + export PBR_PIP_VERSION=git+https://github.com/pypa/pip.git#egg=pip + fi + function gate_hook { + set -x + bash -xe $BASE/new/pbr/tools/integration.sh $(cat $BASE/new/requirements/projects.txt) + } + export -f gate_hook + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/releasenotes/notes/support-vcs-uris-with-subdirectories-20ad68b6138f72ca.yaml b/releasenotes/notes/support-vcs-uris-with-subdirectories-20ad68b6138f72ca.yaml new file mode 100644 index 0000000..02669ab --- /dev/null +++ b/releasenotes/notes/support-vcs-uris-with-subdirectories-20ad68b6138f72ca.yaml @@ -0,0 +1,11 @@ +--- +features: + - | + Subdirectories can now be included when specfifying a requirement in + ``requirements.txt`` or ``test-requirements.txt`` using VCS URIs. For + example: + + -e git+https://foo.com/zipball#egg=bar&subdirectory=baz + + For more information, refer to the `pip documentation + `__. diff --git a/tox.ini b/tox.ini index cf27d98..d97e6ff 100644 --- a/tox.ini +++ b/tox.ini @@ -31,6 +31,16 @@ commands = basepython = python3 commands = {posargs} +[testenv:cover] +basepython = python3 +setenv = + PYTHON=coverage run --source pbr --parallel-mode +commands = + stestr run {posargs} + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml + [flake8] # H405 multi line docstring summary not separated with an empty line # H904 "Wrap lines in parentheses and not a backslash for line continuation