--- - 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/{{package_name}} set_fact: package_name: '{{release.name | lower | regex_replace(" (\d+)\.\d+\.\d+", "-\1")}}' - name: set path for archive download set_fact: archive_path: '/tmp/{{asset.name}}' - name: download release archive get_url: url: '{{asset.browser_download_url}}' dest: '{{archive_path}}' - name: extract release archive unarchive: src: '{{archive_path}}' dest: '/usr/local/lib/{{package_name}}'