Compare commits

...

3 Commits

6 changed files with 54 additions and 1 deletions

View File

@ -14,8 +14,11 @@
- role: fzf
- role: git
- role: htop
- role: jp
- role: jq
- role: tidy
- role: tree
- role: yq
- role: llvm
- role: nodejs

View File

@ -12,6 +12,8 @@
- role: curl
- role: fzf
- role: tree
- role: jq
- role: yq
- role: llvm
- role: nodejs

View File

@ -0,0 +1,38 @@
---
- name: get latest github release
uri:
url: https://api.github.com/repos/jmespath/jp/releases/latest
register: latest
# TODO: Support arm64
- set_fact:
asset_query: '[?contains(name, `jp-darwin-amd64`)] | [0]'
assets: '{{latest.json.assets}}'
latest_version: '{{latest.json.tag_name}}'
jp_exe: '{{ansible_env.HOME}}/.local/bin/jp'
- name: check if already installed
stat:
path: '{{jp_exe}}'
register: jp_exe
- name: get installed version
when: jp_stat.stat.exists == True
command: '{{jp_exe}} --version'
register: jp_version_output
changed_when: false
- when: jp_stat.stat.exists == True
set_fact:
installed_version:
'{{jp_version_output.stdout.strip() | regex_replace("^.*(\d+\.\d+\.\d+).*$", "\1")}}'
- set_fact:
asset: '{{assets | to_json | from_json | json_query(asset_query)}}'
- name: download executable
when: installed_version is not defined or installed_version != latest_version
get_url:
url: '{{asset.browser_download_url}}'
dest: '{{jp_exe}}'
mode: +x

View File

@ -0,0 +1,6 @@
---
- name: install apt package
become: true
apt:
name: jp
state: latest

4
roles/jp/tasks/main.yaml Normal file
View File

@ -0,0 +1,4 @@
---
- assert:
that: ansible_os_family != "Windows"
- include_tasks: '{{ansible_os_family}}.yaml'

View File

@ -10,7 +10,7 @@
latest_version: '{{latest.json.tag_name[1:]}}'
yq_exe: '{{ansible_env.HOME}}/.local/bin/yq'
- name: check if alreayd installed
- name: check if already installed
stat:
path: '{{yq_exe}}'
register: yq_stat