e6b747b32b
First up we need python2.7 specific msrest version as azure-storage-blob depends on it and it doesn't properly specify python versions for its releases. Next we cannot use zuul/zuul to test ensure-pip can install packages because zuul/zuul requires python3.8 or newer now. Some platforms we run ensure-pip on still only have python3.6. We address this by using zuul-client instead. Change-Id: I3d91fd3f85e3d7845ab2d7615a1ebfb614064573
74 lines
2.3 KiB
YAML
74 lines
2.3 KiB
YAML
- hosts: all
|
|
tasks:
|
|
# ensure-pip
|
|
|
|
- name: Include ensure-pip
|
|
include_role:
|
|
name: ensure-pip
|
|
|
|
- name: Create temp directory
|
|
tempfile:
|
|
state: directory
|
|
suffix: venv-test
|
|
register: _tmp_venv
|
|
|
|
- name: Sanity check provided virtualenv command installs
|
|
pip:
|
|
name: tox
|
|
virtualenv_command: '{{ ensure_pip_virtualenv_command }}'
|
|
virtualenv: '{{ _tmp_venv.path }}'
|
|
|
|
- name: Sanity check installed command runs without error
|
|
command: '{{ _tmp_venv.path }}/bin/tox --version'
|
|
|
|
- name: Remove tmpdir
|
|
file:
|
|
path: '{{ _tmp_venv.path }}'
|
|
state: absent
|
|
|
|
- name: Sanity check pip wheel generation
|
|
shell: |
|
|
cd {{ ansible_user_dir }}/src/opendev.org/zuul/zuul-client
|
|
# This should run anywhere without too much logic ...
|
|
run_pip=$(command -v pip3 || command -v pip2 || command -v pip)
|
|
# Preinstall pbr to work around very old distutils lacking SNI support
|
|
$run_pip install pbr
|
|
$run_pip wheel --no-deps .
|
|
ls zuul_client-*.whl || exit 1
|
|
|
|
- name: Test virtualenv
|
|
# NOTE(ianw) 2022-02-03 : not supported on 9-stream, see inline comments
|
|
# NOTE(frickler) 2022-03-01 : pin pluggy so as to work on Debian Buster
|
|
when: not (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version']|int >= 9)
|
|
block:
|
|
# ensure-virtualenv
|
|
- name: Include ensure-virtualenv
|
|
include_role:
|
|
name: ensure-virtualenv
|
|
|
|
- name: Sanity check virtualenv command works
|
|
shell: |
|
|
tmp_venv=$(mktemp -d -t venv-XXXXXXXXXX)
|
|
trap "rm -rf $tmp_venv" EXIT
|
|
virtualenv $tmp_venv
|
|
$tmp_venv/bin/pip install tox "pluggy<1"
|
|
failed_when: false
|
|
register: _virtualenv_sanity
|
|
|
|
- name: Assert sanity check
|
|
fail:
|
|
msg: 'The virtualenv command does not appear to work!'
|
|
when:
|
|
- _virtualenv_sanity.rc != 0
|
|
|
|
# NOTE(ianw) : this does not play nicely with pip-and-virtualenv which
|
|
# has already installed from source. We might be able to test this
|
|
# once it's gone...
|
|
|
|
# - hosts: all
|
|
# roles:
|
|
# - role: ensure-pip
|
|
# vars:
|
|
# ensure_pip_from_upstream: True
|
|
|