71 lines
2.4 KiB
YAML
71 lines
2.4 KiB
YAML
---
|
|
- name: Verify
|
|
hosts: all
|
|
gather_facts: false
|
|
any_errors_fatal: true
|
|
|
|
pre_tasks:
|
|
- name: "Include default vars"
|
|
ansible.builtin.include_vars:
|
|
dir: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/defaults/"
|
|
extensions: ['yml']
|
|
|
|
tasks:
|
|
- name: "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 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: "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 the version of the installed tool"
|
|
ansible.builtin.assert:
|
|
that: "'stress-ng, version 0.17.03' in miniforge_tool_version.stdout"
|
|
success_msg: "Correct version installed"
|
|
fail_msg: "Error: incorrect version installed"
|
|
|
|
- name: "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: "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: "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"
|