ansible-roles/roles/rust/tasks/install.yml
2021-12-01 19:13:34 +01:00

44 lines
1.2 KiB
YAML

---
- when: not rust_hash.stat.exists
block:
- name: Download rustup script
get_url:
url: https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init
dest: "{{ rust_root_dir }}/tmp"
mode: 755
tags: rust
- name: Install rust
command: "{{ rust_root_dir }}/tmp/rustup-init -y --no-modify-path"
environment:
- RUSTUP_HOME: "{{ rust_root_dir }}"
- CARGO_HOME: "{{ rust_root_dir }}"
tags: rust
- when: rust_hash.stat.exists and (ansible_date_time.epoch | int - rust_hash.stat.mtime) > (30 * 60 * 60 * 24)
block:
- name: Update rust
command: "{{ rust_root_dir }}/bin/rustup update"
environment:
- RUSTUP_HOME: "{{ rust_root_dir }}"
- CARGO_HOME: "{{ rust_root_dir }}"
tags: rust
- name: Include rust dir in PATH
copy:
content: |
#!/bin/bash
export PATH="{{ rust_root_dir }}/bin:$PATH"
export RUSTUP_HOME={{ rust_root_dir }}
export CARGO_HOME={{ rust_root_dir }}
dest: /etc/profile.d/rust.sh
mode: 755
tags: rust
- name: Install bash completion
shell: "{{ rust_root_dir }}/bin/rustup completions bash > /etc/bash_completion.d/rust"
args:
creates: /etc/bash_completion.d/rust
tags: rust