--- - name: get list of releases from github uri: url: https://api.github.com/repos/llvm/llvm-project/releases register: releases - name: select latest release with Ubuntu binaries set_fact: release: '{{releases.json | json_query("[?assets | [?contains(name, `x86_64-linux-gnu-ubuntu`)]] | [0]")}}' - name: select assets from latest release set_fact: asset: '{{release | json_query("assets | [?contains(name, `x86_64-linux-gnu-ubuntu`)] | [?ends_with(name, `.tar.xz`)] | [0]")}}' # - debug: # msg: '{{asset.browser_download_url}}' - name: process release name for /usr/local/{{lib_dir}} set_fact: lib_dir: '{{release.name | lower | regex_replace(" (\d+)\.\d+\.\d+", "-\1")}}' - name: create temporary directory for download tempfile: state: directory register: tempdir - set_fact: download_path: '{{tempdir.path}}/llvm.tar.xz' - name: download release archive get_url: url: '{{asset.browser_download_url}}' dest: '{{download_path}}'