diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-03-04 00:47:09 +0100 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-03-04 00:49:46 +0100 |
| commit | 570555cf2d464078190240df724ca4f148c72b48 (patch) | |
| tree | 44f50edc747c8f84cba74a392df6110981789617 /roles/rust | |
| parent | cdbb782ab1aa2c337fcfeca0693ac8e22582d186 (diff) | |
Refactor language roles to use mise and install multiple version support
Diffstat (limited to 'roles/rust')
| -rw-r--r-- | roles/rust/defaults/main.yml | 3 | ||||
| -rw-r--r-- | roles/rust/meta/argument_specs.yml | 13 | ||||
| -rw-r--r-- | roles/rust/meta/main.yml | 5 | ||||
| -rw-r--r-- | roles/rust/tasks/main.yml | 13 |
4 files changed, 17 insertions, 17 deletions
diff --git a/roles/rust/defaults/main.yml b/roles/rust/defaults/main.yml index a23ee6dc..7cb39ef2 100644 --- a/roles/rust/defaults/main.yml +++ b/roles/rust/defaults/main.yml @@ -1,3 +1,4 @@ --- -rust_toolchain: "stable" +rust_versions: + - "stable" rust_components: [] diff --git a/roles/rust/meta/argument_specs.yml b/roles/rust/meta/argument_specs.yml index 93ebc36e..612812b6 100644 --- a/roles/rust/meta/argument_specs.yml +++ b/roles/rust/meta/argument_specs.yml @@ -1,15 +1,14 @@ --- argument_specs: main: - short_description: "Install Rust via rustup on Linux distributions" - description: "Install Rust via rustup on Linux distributions" options: - rust_toolchain: - type: "str" - description: "The Rust toolchain to install (stable, beta, nightly)" - default: "stable" + rust_versions: + type: "list" + description: "Rust versions to install via mise (e.g. 'stable', 'nightly')" + elements: "str" + default: ["stable"] rust_components: type: "list" - description: "Additional rustup components to install" + description: "Rust components to install via rustup (applied to the active toolchain)" elements: "str" default: [] diff --git a/roles/rust/meta/main.yml b/roles/rust/meta/main.yml index 8afa47c1..af2fe6fa 100644 --- a/roles/rust/meta/main.yml +++ b/roles/rust/meta/main.yml @@ -1,10 +1,9 @@ --- dependencies: - - role: "bash" - - role: "curl" + - role: "mise" galaxy_info: author: "a14m" - description: "Install Rust via rustup on Linux distributions" + description: "Install Rust (versions) via mise on Linux distributions" license: "MIT" min_ansible_version: "2.18" platforms: diff --git a/roles/rust/tasks/main.yml b/roles/rust/tasks/main.yml index 4c34eb81..85ebdd95 100644 --- a/roles/rust/tasks/main.yml +++ b/roles/rust/tasks/main.yml @@ -1,16 +1,17 @@ --- -- name: "Check installed rust version" +- name: "Check installed rust versions" ansible.builtin.command: - cmd: "mise current rust" - register: rust_current_version + cmd: "mise ls rust" + register: rust_installed_versions changed_when: false failed_when: false -- name: "Install rust {{ rust_toolchain }}" +- name: "Install rust {{ item }}" ansible.builtin.command: - cmd: "mise use --global rust@{{ rust_toolchain }}" + cmd: "mise use --global rust@{{ item }}" changed_when: true - when: rust_toolchain not in rust_current_version.stdout + when: item not in rust_installed_versions.stdout + loop: "{{ rust_versions }}" - name: "Install rust components" ansible.builtin.command: |
