diff options
| author | Ahmed Abdelhalim <[email protected]> | 2025-09-02 21:18:51 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2025-09-02 21:18:51 +0200 |
| commit | 3bb76b2262030f27b2369ccbab9cf4af497100fa (patch) | |
| tree | 610b6a7aa652c22bbb64d6759c3aaa82cebb8617 /roles/go/tasks | |
| parent | ef64f48a1fdac5a8ad1580991048c1e5d7932f0f (diff) | |
Add tasks to clean up unwanted go versions
Diffstat (limited to 'roles/go/tasks')
| -rw-r--r-- | roles/go/tasks/main.yml | 26 |
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 |
