- vars: venv_cmd: "{{ ansible_python_interpreter ~ ' -m venv' }}" venv_dest: "{{ galaxy_dir }}/test_resolvelib_{{ resolvelib_version }}" block: - name: install another version of resolvelib that is unsupported by ansible-galaxy pip: name: resolvelib version: "{{ resolvelib_version }}" state: present virtualenv_command: "{{ venv_cmd }}" virtualenv: "{{ venv_dest }}" virtualenv_site_packages: True - name: create test collection install directory - {{ test_name }} file: path: '{{ galaxy_dir }}/ansible_collections' state: directory - name: install simple collection from first accessible server (expected failure) command: "ansible-galaxy collection install namespace1.name1 {{ galaxy_verbosity }}" environment: ANSIBLE_COLLECTIONS_PATH: '{{ galaxy_dir }}/ansible_collections' PATH: "{{ venv_dest }}/bin:{{ ansible_env.PATH }}" register: resolvelib_version_error ignore_errors: yes - assert: that: - resolvelib_version_error is failed - compat_error in resolvelib_version_error.stderr or import_error in resolvelib_version_error.stderr vars: import_error: "Failed to import resolvelib" compat_error: "ansible-galaxy requires resolvelib<0.6.0,>=0.5.3" always: - name: cleanup venv and install directory file: path: '{{ galaxy_dir }}/ansible_collections' state: absent loop: - '{{ galaxy_dir }}/ansible_collections' - '{{ venv_dest }}'