- name: 'Create Miniconda base dir' loop_control: loop_var: 'conda_dir' loop: - { path: '{{ miniconda_install_dir }}', state: 'directory' } - { path: '{{ miniconda_installer_dl_dir }}', state: 'directory' } ansible.builtin.file: path: '{{ conda_dir.path }}' state: '{{ conda_dir.state }}' - name: 'Download latest Miniconda installer' ansible.builtin.get_url: url: '{{ miniconda_dl_uri }}' dest: '{{ miniconda_dl_local_abs }}' - name: 'Set execute bit on Miniconda installer' ansible.builtin.file: path: '{{ miniconda_dl_local_abs }}' mode: 'a+x' - name: 'Get Miniconda installer help output' register: 'rv_miniconda_installer_help' changed_when: 'rv_miniconda_installer_help.rc != 2' failed_when: 'rv_miniconda_installer_help.rc != 2' ansible.builtin.shell: '{{ miniconda_dl_local_abs }} -h' - name: 'Get Miniconda installer version from help output' when: 'rv_miniconda_installer_help.rc == 2' set_fact: miniconda_installer_version: '{{ rv_miniconda_installer_help.stdout | regex_search(''Installs Miniconda3 (py.*?_)(.*?)(\n)'', ''\2'') }}' - name: 'Get conda version output' register: 'rv_conda_version_output' changed_when: 'rv_conda_version_output.rc != 0' failed_when: 'false' ansible.builtin.shell: 'conda --version 2> ''/dev/null''' - name: 'Get conda version from version output' register: 'rv_conda_version' changed_when: '(not conda_version) or (rv_conda_version_output.rc != 0)' failed_when: 'false' set_fact: conda_version: '{{ rv_conda_version_output.stdout | regex_search(''conda ([^\r\n\f]+)'', ''\1'') }}' - name: 'If Miniconda old or missing: install it' when: '(miniconda_installer_version | first is version(''4.11.9'', ''>'')) or (not conda_version)' register: 'rv_miniconda_install' ansible.builtin.shell: '{{ miniconda_dl_local_abs }} -b -p ''{{ miniconda_install_dir }}'' -u' - name: 'If Miniconda was installed: Initialize' when: 'rv_miniconda_install.changed' register: 'rv_conda_init' ansible.builtin.shell: '{{ miniconda_conda_binary }} init' - name: 'Set ~/.condarc file' ansible.builtin.copy: src: '_current_user_home_/.condarc' dest: '{{ ansible_env.HOME }}/.condarc' mode: '0644'