40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
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/{{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: create package directory
|
|
file:
|
|
path: '/usr/local/lib/{{package_name}}'
|
|
state: directory
|
|
|
|
- name: extract release archive
|
|
unarchive:
|
|
src: '{{archive_path}}'
|
|
dest: '/usr/local/lib/{{package_name}}'
|