diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-03-04 00:10:52 +0100 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-03-04 00:10:52 +0100 |
| commit | f3476b39c2154d7321ce04ebae3134b2b05c1223 (patch) | |
| tree | 95116ae2f6d14eb5fd72d761f1ad82763efc6d49 /roles | |
| parent | a046d41c5a3c7d555d439d897d43c60344d6d3c2 (diff) | |
Refactor go role to use mise
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/go/defaults/main.yml | 2 | ||||
| -rw-r--r-- | roles/go/meta/argument_specs.yml | 2 | ||||
| -rw-r--r-- | roles/go/meta/main.yml | 4 | ||||
| -rw-r--r-- | roles/go/tasks/main.yml | 36 |
4 files changed, 14 insertions, 30 deletions
diff --git a/roles/go/defaults/main.yml b/roles/go/defaults/main.yml index 16cbca2d..67bb55f2 100644 --- a/roles/go/defaults/main.yml +++ b/roles/go/defaults/main.yml @@ -1,2 +1,2 @@ --- -go_version: "1.25.3" +go_version: "latest" diff --git a/roles/go/meta/argument_specs.yml b/roles/go/meta/argument_specs.yml index 9943134f..3e518135 100644 --- a/roles/go/meta/argument_specs.yml +++ b/roles/go/meta/argument_specs.yml @@ -7,4 +7,4 @@ argument_specs: go_version: type: "str" description: "Default go version to install" - default: "1.25.3" + default: "latest" diff --git a/roles/go/meta/main.yml b/roles/go/meta/main.yml index d96d4509..9990d138 100644 --- a/roles/go/meta/main.yml +++ b/roles/go/meta/main.yml @@ -1,9 +1,9 @@ --- dependencies: - - role: "bash" + - role: "mise" galaxy_info: author: "a14m" - description: "Install Go (versions) on Linux distributions" + description: "Install Go 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 93ec8a3a..fbf6e688 100644 --- a/roles/go/tasks/main.yml +++ b/roles/go/tasks/main.yml @@ -1,33 +1,18 @@ --- -- name: "Check installed go versions" +- name: "Check installed go version" ansible.builtin.command: - cmd: "/usr/local/go/bin/go version" - register: go_installed_version + cmd: "mise current go" + register: go_current_version changed_when: false failed_when: false -- name: "Install go" - when: go_version not in go_installed_version.stdout - block: - - name: "Set go facts" - ansible.builtin.set_fact: - go_arch: "{{ 'amd64' if ansible_facts['architecture'] == 'x86_64' else 'arm64' }}" - go_platform: "{{ ansible_facts['system'] | lower }}" - - - name: "Download Go" - ansible.builtin.get_url: - url: "https://dl.google.com/go/go{{ go_version }}.{{ go_platform }}-{{ go_arch }}.tar.gz" - dest: "/tmp/go.tar.gz" - mode: "0644" - - - name: "Unarchive Go" - become: true - ansible.builtin.unarchive: - src: "/tmp/go.tar.gz" - dest: "/usr/local" - remote_src: true +- name: "Install go {{ go_version }}" + ansible.builtin.command: + cmd: "mise use --global go@{{ go_version }}" + changed_when: true + when: go_version not in go_current_version.stdout -- name: "Add Go to shell profile" +- name: "Add Go bin to shell profile" ansible.builtin.blockinfile: path: "{{ ansible_facts['env']['HOME'] }}/.bashrc" state: "present" @@ -35,7 +20,6 @@ append_newline: true marker: "# ==== {mark} ANSIBLE GO CONFIG" block: | - if command -v go 1>/dev/null 2>&1; then - export PATH="$PATH:/usr/local/go/bin" + if [ -d "$HOME/go/bin" ]; then export PATH="$HOME/go/bin:$PATH" fi |
