summaryrefslogtreecommitdiffstats
path: root/roles/go
diff options
context:
space:
mode:
Diffstat (limited to 'roles/go')
-rw-r--r--roles/go/defaults/main.yml3
-rw-r--r--roles/go/meta/argument_specs.yml11
-rw-r--r--roles/go/meta/main.yml2
-rw-r--r--roles/go/tasks/main.yml13
4 files changed, 15 insertions, 14 deletions
diff --git a/roles/go/defaults/main.yml b/roles/go/defaults/main.yml
index 67bb55f2..6d8217b9 100644
--- a/roles/go/defaults/main.yml
+++ b/roles/go/defaults/main.yml
@@ -1,2 +1,3 @@
---
-go_version: "latest"
+go_versions:
+ - "latest"
diff --git a/roles/go/meta/argument_specs.yml b/roles/go/meta/argument_specs.yml
index 3e518135..803fa6ea 100644
--- a/roles/go/meta/argument_specs.yml
+++ b/roles/go/meta/argument_specs.yml
@@ -1,10 +1,9 @@
---
argument_specs:
main:
- short_description: "Install Go on Linux distributions"
- description: "Install Go on Linux distributions"
options:
- go_version:
- type: "str"
- description: "Default go version to install"
- default: "latest"
+ go_versions:
+ type: "list"
+ description: "Go versions to install via mise (e.g. 'latest', '1.24')"
+ elements: "str"
+ default: ["latest"]
diff --git a/roles/go/meta/main.yml b/roles/go/meta/main.yml
index 9990d138..946d0801 100644
--- a/roles/go/meta/main.yml
+++ b/roles/go/meta/main.yml
@@ -3,7 +3,7 @@ dependencies:
- role: "mise"
galaxy_info:
author: "a14m"
- description: "Install Go via mise on Linux distributions"
+ description: "Install Go (versions) via mise on Linux distributions"
license: "MIT"
min_ansible_version: "2.18"
platforms:
diff --git a/roles/go/tasks/main.yml b/roles/go/tasks/main.yml
index fbf6e688..47fec265 100644
--- a/roles/go/tasks/main.yml
+++ b/roles/go/tasks/main.yml
@@ -1,16 +1,17 @@
---
-- name: "Check installed go version"
+- name: "Check installed go versions"
ansible.builtin.command:
- cmd: "mise current go"
- register: go_current_version
+ cmd: "mise ls go"
+ register: go_installed_versions
changed_when: false
failed_when: false
-- name: "Install go {{ go_version }}"
+- name: "Install go {{ item }}"
ansible.builtin.command:
- cmd: "mise use --global go@{{ go_version }}"
+ cmd: "mise use --global go@{{ item }}"
changed_when: true
- when: go_version not in go_current_version.stdout
+ when: item not in go_installed_versions.stdout
+ loop: "{{ go_versions }}"
- name: "Add Go bin to shell profile"
ansible.builtin.blockinfile: