- name: Install pip include_role: name: ensure-pip - name: Check if molecule is installed shell: | command -v {{ molecule_executable }} {{ molecule_venv_path }}/bin/molecule || exit 1 args: executable: /bin/bash register: molecule_preinstalled failed_when: false - name: Export preinstalled molecule_executable set_fact: molecule_executable: '{{ molecule_preinstalled.stdout_lines[0] }}' cacheable: true when: molecule_preinstalled.rc == 0 - name: Install molecule to local env when: molecule_preinstalled.rc != 0 block: - name: Create local venv command: '{{ ensure_pip_virtualenv_command }} {{ molecule_venv_path }}' - name: Install molecule to local venv command: '{{ molecule_venv_path }}/bin/pip install -r {{ zuul.project.src_dir }}/molecule/default/requirements.txt ansible molecule' - name: Export installed molecule_executable path set_fact: molecule_executable: '{{ molecule_venv_path }}/bin/molecule' cacheable: true - name: Output molecule version command: "{{ molecule_executable }} --version"