34 lines
992 B
YAML
34 lines
992 B
YAML
---
|
|
- 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}}'
|