--- - name: Verify hosts: all gather_facts: false any_errors_fatal: true pre_tasks: - name: "Verify | include default vars" ansible.builtin.include_vars: dir: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/defaults/" extensions: ['yml'] tasks: - name: "Verify | get the version of Miniforge installed" become: true become_user: alice changed_when: false register: miniforge_installed_version ansible.builtin.command: cmd: ~/miniforge3/bin/conda --version - name: "Verify | check the installed version of Miniforge" ansible.builtin.assert: that: "'{{ miniforge_release | split('-') | first }}' in miniforge_installed_version.stdout" success_msg: "OK, expected version installed: '{{ miniforge_installed_version.stdout }}'" fail_msg: "FAIL: unexpected version installed: '{{ miniforge_installed_version.stdout }}'" - name: "Verify | check Mamba installing correct tools from channels" become: true become_user: alice changed_when: false vars: env: env_alpha register: miniforge_tool_version ansible.builtin.command: cmd: ~/miniforge3/envs/{{ env }}/bin/stress-ng --version - name: "Verify | check the version of the installed tool" ansible.builtin.assert: that: "'stress-ng, version 0.17.03' in miniforge_tool_version.stdout" success_msg: "OK, expected version installed: '{{ miniforge_tool_version.stdout }}'" fail_msg: "FAIL: unexpected version installed: '{{ miniforge_tool_version.stdout }}'" - name: "Verify | check the deployed environments for Alice (pip)" become: true become_user: alice loop: - { env: 'env_alpha', module: 'humanfriendly' } - { env: 'cucubeta', module: 'arrow' } changed_when: false ansible.builtin.command: cmd: ~/miniforge3/envs/{{ item.env }}/bin/python -c 'import {{ item.module }}' - name: "Verify | check the deployed environments for Bob" become: true become_user: bob loop: - { env: 'cucubeta', module: 'arrow' } changed_when: false ansible.builtin.command: cmd: ~/miniforge3/envs/{{ item.env }}/bin/python -c 'import {{ item.module }}' - name: "Verify | check that no environments were deployed for Charlie" become: true become_user: charlie register: miniforge_charlie_envs failed_when: miniforge_charlie_envs.stdout_lines | length > 0 changed_when: false ansible.builtin.command: cmd: "ls ~/miniforge3/envs"