- name: download and extract golang block: - name: get latest golang version shell: | curl -sSL https://golang.org/dl/ | awk -F '"' '/dl\/.*linux-amd64.*tar.gz/{print $(NF-1)}' | awk -F '/' '{print $3}' | head -1 register: latest_golang changed_when: false - name: download golang get_url: url: "https://golang.org/dl/{{ latest_golang.stdout }}" dest: /tmp/golang.tar.gz - name: extract golang to /usr/local unarchive: src: /tmp/golang.tar.gz dest: /usr/local remote_src: yes - name: remove tarball file: path: /tmp/golang.tar.gz state: absent - name: set system-wide go environment variables copy: dest: /etc/profile.d/go_env.sh content: | export GOPATH=/root/go export PATH=$PATH:/usr/local/go/bin:$GOPATH:$GOPATH/bin owner: root group: root mode: '0644'