a3caa9ed5b
Work around lack of SNI support in old distutils versions shipped with Python on platforms like CentOS 7 and Ubuntu 16.04 LTS by installing PBR first so that distutils won't be compelled to do so. Warehouse (PyPI) ceased supporting clients without SNI support in March of this year. Change-Id: Ic741d9a87c2ca3a5249cd03c3cbd38e2ad1f46a1
69 lines
1.9 KiB
YAML
69 lines
1.9 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
|
|
# 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-*.whl || exit 1
|
|
|
|
# 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
|
|
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
|
|
|