- 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) $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