Files
ansible-role-rvm/tasks/main.yml

57 lines
2.1 KiB
YAML

---
- name: detect rvm profile
stat: path=/etc/profile.d/rvm.sh
register: rvm_profile
- name: detect rvm installer
stat: path={{ ruby_temp_download_path }}/rvm-installer.sh
register: rvm_installer
- name: detect current rvm version
shell: "{{ ruby_rvm_install_path }}/bin/rvm version"
register: rvm_current_version
when: rvm_profile.stat.exists
- name: detect stable rvm version
uri: url={{ ruby_rvm_stable_version_number }} return_content=yes
register: rvm_stable_version_number
- name: ensure rvm installer is downloaded
get_url:
url: "{{ ruby_rvm_latest_installer }}"
dest: "{{ ruby_temp_download_path }}/rvm-installer.sh"
when: not rvm_installer.stat.exists or ruby_rvm_force_upgrade_installer
- name: ensure rvm installer is configured
file:
path: "{{ ruby_temp_download_path }}/rvm-installer.sh"
mode: 0755
when: not rvm_profile.stat.exists or ruby_rvm_force_upgrade_installer
- name: ensure rvm stable is installed
command: "{{ ruby_temp_download_path }}/rvm-installer.sh --path {{ ruby_rvm_install_path }} stable"
when: not rvm_profile.stat.exists
- name: ensure rvm is upgraded
shell: "{{ ruby_rvm_install_path }}/bin/rvm get stable && {{ ruby_rvm_install_path }}/bin/rvm reload"
when: not rvm_stable_version_number.content[:-1] in rvm_current_version.stdout and rvm_profile.stat.exists and not ruby_rvm_skip_upgrade
- name: ensure rvm installs ruby dependencies
command: "{{ ruby_rvm_install_path }}/bin/rvm autolibs 3"
when: not rvm_profile.stat.exists
- name: detect if ruby version is installed
stat: path={{ ruby_rvm_install_path }}/rubies/ruby-{{ ruby_version }}
register: installed_ruby_version
- name: ensure ruby is installed
command: "{{ ruby_rvm_install_path }}/bin/rvm install ruby-{{ ruby_version }}"
when: not installed_ruby_version.stat.exists
- name: detect default ruby version
command: "{{ ruby_rvm_install_path }}/bin/rvm alias list default"
register: ruby_selected
- name: ensure default ruby is selected
shell: source /etc/profile.d/rvm.sh && rvm use ruby-{{ ruby_version }} --default executable=/bin/bash
when: ruby_selected.stdout == '' or ruby_version not in ruby_selected.stdout