zuul-jobs/zuul-tests.d/python-jobs.yaml
Ian Wienand 67f223b53a Partial revert "Ensure wheel exists for build-release-python"; move to ensure-pip
This partially reverts commit
3f961ce202.

This alternative installs wheel with the ensure-pip role instead of in
a separate role.  wheel is very closely linked with pip install
operations so this isn't a large overreach of the role.

I suggest this for several reasons; firstly the python-wheel role
doesn't try to install packages, so we end up with mixed system pip
and upstream versions of wheel most of the time.  This is the type of
thing that has proven problematic in the past.  It also installs via
pip --user; something we've already had problems with tox when for
various reasons roles want to run this as non-zuul user.  Using
ensure-pip we keep the packaged versions together.

[1] did try to install wheel with root, but during runtime which
didn't work due to sudo being revoked.  This should work for the
existing build-python-release job, because it already includes
ensure-pip in pre-run via playbooks/python/pre.yaml

I believe our conclusion on the ensure-* roles was that requiring
root/become: for installation is OK, but we should have a no-op path
if the tools are found.  This is consistent with that approach
(i.e. if you want wheel and can't do sudo, you should pre-install it
on your image using whatever you build that with).

This adds a check to the existing "is pip installed" check to also
check if wheel packages are available.  If not we trigger the install
path.

This revealed some issues with RedHat.yaml -- we can always install
Python 3 (packages available for CentOS 7) so remove that check, and
if Ansible is running under Python 2; ensure we install the
dependencies too (not only if it is forced).

Update the documentation to describe that it will enable support for
bdist_wheel, and add a basic sanity test that wheels are produced by
pip.  The existing build-python-release job is kept; although it is
modified to use the playbooks/python/pre.yaml playbook as the build
job does.

Change-Id: I2ab11bb45b6b2a49d54db39195228ab40141185c
[1] https://review.opendev.org/#/c/736001/5/roles/build-python-release/tasks/main.yaml
2020-06-18 12:51:56 +00:00

493 lines
15 KiB
YAML

- job:
name: zuul-jobs-test-ensure-pip
description: Test the ensure-pip role
# dummy project for wheel build test
required-projects:
- zuul/zuul
files:
- roles/ensure-pip/.*
- roles/ensure-virtualenv/.*
run: test-playbooks/ensure-pip.yaml
tags: all-platforms
- job:
name: zuul-jobs-test-ensure-pip-centos-7
description: Test the ensure-pip role on centos-7
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: centos-7
label: centos-7
- job:
name: zuul-jobs-test-ensure-pip-centos-8
description: Test the ensure-pip role on centos-8
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: centos-8
label: centos-8
- job:
name: zuul-jobs-test-ensure-pip-debian-stretch
description: Test the ensure-pip role on debian-stretch
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: debian-stretch
label: debian-stretch
- job:
name: zuul-jobs-test-ensure-pip-fedora-31
description: Test the ensure-pip role on fedora-31
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: fedora-31
label: fedora-31
- job:
name: zuul-jobs-test-ensure-pip-gentoo-17-0-systemd
description: Test the ensure-pip role on gentoo-17-0-systemd
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: gentoo-17-0-systemd
label: gentoo-17-0-systemd
- job:
name: zuul-jobs-test-ensure-pip-opensuse-15
description: Test the ensure-pip role on opensuse-15
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: opensuse-15
label: opensuse-15
- job:
name: zuul-jobs-test-ensure-pip-opensuse-tumbleweed-nv
voting: false
description: Test the ensure-pip role on opensuse-tumbleweed
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: opensuse-tumbleweed
label: opensuse-tumbleweed
- job:
name: zuul-jobs-test-ensure-pip-ubuntu-bionic
description: Test the ensure-pip role on ubuntu-bionic
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: ubuntu-bionic
label: ubuntu-bionic
- job:
name: zuul-jobs-test-ensure-pip-ubuntu-xenial
description: Test the ensure-pip role on ubuntu-xenial
parent: zuul-jobs-test-ensure-pip
tags: auto-generated
nodeset:
nodes:
- name: ubuntu-xenial
label: ubuntu-xenial
- job:
name: zuul-jobs-test-ensure-sphinx
description: Test the ensure-sphinx role
files:
- roles/ensure-sphinx/.*
run: test-playbooks/simple-role-test.yaml
vars:
role_name: ensure-sphinx
- job:
name: zuul-jobs-test-ensure-tox
description: Test the ensure-tox role
files:
- roles/ensure-tox/.*
- test-playbooks/ensure-tox.yaml
run: test-playbooks/ensure-tox.yaml
tags: all-platforms
- job:
name: zuul-jobs-test-ensure-tox-centos-7
description: Test the ensure-tox role on centos-7
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: centos-7
label: centos-7
- job:
name: zuul-jobs-test-ensure-tox-centos-8
description: Test the ensure-tox role on centos-8
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: centos-8
label: centos-8
- job:
name: zuul-jobs-test-ensure-tox-debian-stretch
description: Test the ensure-tox role on debian-stretch
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: debian-stretch
label: debian-stretch
- job:
name: zuul-jobs-test-ensure-tox-fedora-31
description: Test the ensure-tox role on fedora-31
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: fedora-31
label: fedora-31
- job:
name: zuul-jobs-test-ensure-tox-gentoo-17-0-systemd
description: Test the ensure-tox role on gentoo-17-0-systemd
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: gentoo-17-0-systemd
label: gentoo-17-0-systemd
- job:
name: zuul-jobs-test-ensure-tox-opensuse-15
description: Test the ensure-tox role on opensuse-15
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: opensuse-15
label: opensuse-15
- job:
name: zuul-jobs-test-ensure-tox-opensuse-tumbleweed-nv
voting: false
description: Test the ensure-tox role on opensuse-tumbleweed
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: opensuse-tumbleweed
label: opensuse-tumbleweed
- job:
name: zuul-jobs-test-ensure-tox-ubuntu-bionic
description: Test the ensure-tox role on ubuntu-bionic
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: ubuntu-bionic
label: ubuntu-bionic
- job:
name: zuul-jobs-test-ensure-tox-ubuntu-xenial
description: Test the ensure-tox role on ubuntu-xenial
parent: zuul-jobs-test-ensure-tox
tags: auto-generated
nodeset:
nodes:
- name: ubuntu-xenial
label: ubuntu-xenial
- job:
name: zuul-jobs-test-fetch-sphinx-tarball
description: Test the fetch-sphinx-tarball role
# parenting on tox-docs as we need builded docs first and also this is
# the main use-case for this role
parent: tox-docs
success-url: docs/
files:
- roles/fetch-sphinx-tarball/.*
tags: all-platforms
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-centos-7
description: Test the fetch-sphinx-tarball role on centos-7
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: centos-7
label: centos-7
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-centos-8
description: Test the fetch-sphinx-tarball role on centos-8
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: centos-8
label: centos-8
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-debian-stretch
description: Test the fetch-sphinx-tarball role on debian-stretch
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: debian-stretch
label: debian-stretch
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-fedora-31
description: Test the fetch-sphinx-tarball role on fedora-31
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: fedora-31
label: fedora-31
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-gentoo-17-0-systemd
description: Test the fetch-sphinx-tarball role on gentoo-17-0-systemd
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: gentoo-17-0-systemd
label: gentoo-17-0-systemd
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-opensuse-15
description: Test the fetch-sphinx-tarball role on opensuse-15
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: opensuse-15
label: opensuse-15
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-opensuse-tumbleweed-nv
voting: false
description: Test the fetch-sphinx-tarball role on opensuse-tumbleweed
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: opensuse-tumbleweed
label: opensuse-tumbleweed
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-ubuntu-bionic
description: Test the fetch-sphinx-tarball role on ubuntu-bionic
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: ubuntu-bionic
label: ubuntu-bionic
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-ubuntu-xenial
description: Test the fetch-sphinx-tarball role on ubuntu-xenial
parent: zuul-jobs-test-fetch-sphinx-tarball
tags: auto-generated
nodeset:
nodes:
- name: ubuntu-xenial
label: ubuntu-xenial
- job:
name: zuul-jobs-test-tox
description: Test the tox role's sibling functionality
files:
- roles/tox/.*
- tox.ini
- test-playbooks/python/tox.yaml
- test-playbooks/python/tox.ini
run: test-playbooks/python/tox.yaml
required-projects:
- zuul/zuul
- zuul/nodepool
# -* AUTOGENERATED *-
# The following project section is autogenerated by
# tox -e update-test-platforms
# Please re-run to generate new job lists
- job:
name: zuul-jobs-test-fetch-tox-output
description: Test the fetch-tox-output
files:
- roles/ensure-output-dirs/.*
- roles/fetch-tox-output/.*
- roles/fetch-output/.*
- roles/ensure-tox/.*
- test-playbooks/python/fetch-tox-output.yaml
- test-playbooks/tox/reinstall-tox.yaml
pre-run: test-playbooks/tox/reinstall-tox.yaml
run: test-playbooks/python/fetch-tox-output.yaml
vars:
zuul_use_fetch_output: true
- job:
name: zuul-jobs-test-fetch-tox-output-synchronize
description: Test the fetch-tox-output
files:
- roles/fetch-tox-output/.*
run: test-playbooks/python/fetch-tox-output.yaml
vars:
zuul_use_fetch_output: false
- job:
name: zuul-jobs-test-fetch-subunit-output
description: Test the fetch-subunit-output
files:
- roles/ensure-output-dirs/.*
- roles/fetch-subunit-output/.*
- roles/fetch-output/.*
run: test-playbooks/python/fetch-subunit-output.yaml
vars:
zuul_use_fetch_output: true
- job:
name: zuul-jobs-test-fetch-subunit-output-synchronize
description: Test the fetch-subunit-output
files:
- roles/fetch-subunit-output/.*
run: test-playbooks/python/fetch-subunit-output.yaml
vars:
zuul_use_fetch_output: false
- job:
name: zuul-jobs-test-fetch-sphinx-output
description: Test the fetch-sphinx-output
files:
- roles/ensure-output-dirs/.*
- roles/fetch-sphinx-output/.*
- roles/fetch-output/.*
run: test-playbooks/python/fetch-sphinx-output.yaml
vars:
zuul_use_fetch_output: true
- job:
name: zuul-jobs-test-fetch-sphinx-output-synchronize
description: Test the fetch-sphinx-output
files:
- roles/fetch-sphinx-output/.*
run: test-playbooks/python/fetch-sphinx-output.yaml
vars:
zuul_use_fetch_output: false
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-with-zuul-output
description: Test the fetch-sphinx-tarball
files:
- roles/ensure-output-dirs/.*
- roles/fetch-sphinx-tarball/.*
- roles/fetch-output/.*
run: test-playbooks/python/fetch-sphinx-tarball.yaml
vars:
zuul_use_fetch_output: true
- job:
name: zuul-jobs-test-fetch-sphinx-tarball-synchronize
description: Test the fetch-sphinx-tarball
files:
- roles/fetch-sphinx-tarball/.*
run: test-playbooks/python/fetch-sphinx-tarball.yaml
vars:
zuul_use_fetch_output: false
- project:
check:
jobs:
- zuul-jobs-test-ensure-pip-centos-7
- zuul-jobs-test-ensure-pip-centos-8
- zuul-jobs-test-ensure-pip-debian-stretch
- zuul-jobs-test-ensure-pip-fedora-31
- zuul-jobs-test-ensure-pip-gentoo-17-0-systemd
- zuul-jobs-test-ensure-pip-opensuse-15
- zuul-jobs-test-ensure-pip-opensuse-tumbleweed-nv
- zuul-jobs-test-ensure-pip-ubuntu-bionic
- zuul-jobs-test-ensure-pip-ubuntu-xenial
- zuul-jobs-test-ensure-sphinx
- zuul-jobs-test-ensure-tox-centos-7
- zuul-jobs-test-ensure-tox-centos-8
- zuul-jobs-test-ensure-tox-debian-stretch
- zuul-jobs-test-ensure-tox-fedora-31
- zuul-jobs-test-ensure-tox-gentoo-17-0-systemd
- zuul-jobs-test-ensure-tox-opensuse-15
- zuul-jobs-test-ensure-tox-opensuse-tumbleweed-nv
- zuul-jobs-test-ensure-tox-ubuntu-bionic
- zuul-jobs-test-ensure-tox-ubuntu-xenial
- zuul-jobs-test-fetch-sphinx-tarball-centos-7
- zuul-jobs-test-fetch-sphinx-tarball-centos-8
- zuul-jobs-test-fetch-sphinx-tarball-debian-stretch
- zuul-jobs-test-fetch-sphinx-tarball-fedora-31
- zuul-jobs-test-fetch-sphinx-tarball-gentoo-17-0-systemd
- zuul-jobs-test-fetch-sphinx-tarball-opensuse-15
- zuul-jobs-test-fetch-sphinx-tarball-opensuse-tumbleweed-nv
- zuul-jobs-test-fetch-sphinx-tarball-ubuntu-bionic
- zuul-jobs-test-fetch-sphinx-tarball-ubuntu-xenial
- zuul-jobs-test-tox
- zuul-jobs-test-fetch-tox-output
- zuul-jobs-test-fetch-tox-output-synchronize
- zuul-jobs-test-fetch-subunit-output
- zuul-jobs-test-fetch-subunit-output-synchronize
- zuul-jobs-test-fetch-sphinx-output
- zuul-jobs-test-fetch-sphinx-output-synchronize
- zuul-jobs-test-fetch-sphinx-tarball-with-zuul-output
- zuul-jobs-test-fetch-sphinx-tarball-synchronize
gate:
jobs:
- zuul-jobs-test-ensure-pip-centos-7
- zuul-jobs-test-ensure-pip-centos-8
- zuul-jobs-test-ensure-pip-debian-stretch
- zuul-jobs-test-ensure-pip-fedora-31
- zuul-jobs-test-ensure-pip-gentoo-17-0-systemd
- zuul-jobs-test-ensure-pip-opensuse-15
- zuul-jobs-test-ensure-pip-ubuntu-bionic
- zuul-jobs-test-ensure-pip-ubuntu-xenial
- zuul-jobs-test-ensure-sphinx
- zuul-jobs-test-ensure-tox-centos-7
- zuul-jobs-test-ensure-tox-centos-8
- zuul-jobs-test-ensure-tox-debian-stretch
- zuul-jobs-test-ensure-tox-fedora-31
- zuul-jobs-test-ensure-tox-gentoo-17-0-systemd
- zuul-jobs-test-ensure-tox-opensuse-15
- zuul-jobs-test-ensure-tox-ubuntu-bionic
- zuul-jobs-test-ensure-tox-ubuntu-xenial
- zuul-jobs-test-fetch-sphinx-tarball-centos-7
- zuul-jobs-test-fetch-sphinx-tarball-centos-8
- zuul-jobs-test-fetch-sphinx-tarball-debian-stretch
- zuul-jobs-test-fetch-sphinx-tarball-fedora-31
- zuul-jobs-test-fetch-sphinx-tarball-gentoo-17-0-systemd
- zuul-jobs-test-fetch-sphinx-tarball-opensuse-15
- zuul-jobs-test-fetch-sphinx-tarball-ubuntu-bionic
- zuul-jobs-test-fetch-sphinx-tarball-ubuntu-xenial
- zuul-jobs-test-tox
- zuul-jobs-test-fetch-tox-output
- zuul-jobs-test-fetch-tox-output-synchronize
- zuul-jobs-test-fetch-subunit-output
- zuul-jobs-test-fetch-subunit-output-synchronize
- zuul-jobs-test-fetch-sphinx-output
- zuul-jobs-test-fetch-sphinx-output-synchronize
- zuul-jobs-test-fetch-sphinx-tarball-with-zuul-output
- zuul-jobs-test-fetch-sphinx-tarball-synchronize