summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed AbdelHalim <[email protected]>2025-09-02 21:18:51 +0200
committerAhmed AbdelHalim <[email protected]>2025-09-02 21:18:51 +0200
commite8784311ef5bf3c9c45d5d61d8d17e56c4a3efc0 (patch)
tree610b6a7aa652c22bbb64d6759c3aaa82cebb8617
parentc4abe4f47d78119a86185b355d2f43dc4ac4dd35 (diff)
Add tasks to clean up unwanted go versions
-rw-r--r--roles/go/tasks/main.yml26
1 files changed, 25 insertions, 1 deletions
diff --git a/roles/go/tasks/main.yml b/roles/go/tasks/main.yml
index a7fd08d4..57657989 100644
--- a/roles/go/tasks/main.yml
+++ b/roles/go/tasks/main.yml
@@ -11,6 +11,23 @@
export PATH="$HOME/go/bin:$PATH"
fi
+- name: "Get installed Go versions"
+ ansible.builtin.shell: |
+ set -o pipefail
+ /home/linuxbrew/.linuxbrew/bin/brew list | grep '^go@' | sed 's/go@//'
+ register: installed_go_versions
+ changed_when: false
+ failed_when: false
+
+- name: "Remove unwanted Go versions"
+ ansible.builtin.command:
+ cmd: "/home/linuxbrew/.linuxbrew/bin/brew uninstall go@{{ item }}"
+ with_items: "{{ installed_go_versions.stdout_lines | default([]) }}"
+ when:
+ - installed_go_versions.rc == 0
+ - item not in go_versions
+ changed_when: true
+
- name: "Install and configure Go latest"
when: go_versions | length == 0
block:
@@ -33,8 +50,15 @@
creates: "/home/linuxbrew/.linuxbrew/Cellar/go@{{ item }}"
with_items: "{{ go_versions }}"
+ - name: "Unlink existing Go package"
+ ansible.builtin.command:
+ cmd: "/home/linuxbrew/.linuxbrew/bin/brew unlink go"
+ when: go_global_version != ""
+ failed_when: false
+ changed_when: false
+
- name: "Set specific Go version as global"
ansible.builtin.command:
- cmd: "/home/linuxbrew/.linuxbrew/bin/brew link --force go@{{ go_global_version }}"
+ cmd: "/home/linuxbrew/.linuxbrew/bin/brew link --overwrite go@{{ go_global_version }}"
when: go_global_version != ""
changed_when: true