Compare commits
3 Commits
b159445520
...
1fbdcdd487
Author | SHA1 | Date | |
---|---|---|---|
1fbdcdd487 | |||
9efb5d6c15 | |||
d99657e3b8 |
@ -14,8 +14,11 @@
|
|||||||
- role: fzf
|
- role: fzf
|
||||||
- role: git
|
- role: git
|
||||||
- role: htop
|
- role: htop
|
||||||
|
- role: jp
|
||||||
|
- role: jq
|
||||||
- role: tidy
|
- role: tidy
|
||||||
- role: tree
|
- role: tree
|
||||||
|
- role: yq
|
||||||
|
|
||||||
- role: llvm
|
- role: llvm
|
||||||
- role: nodejs
|
- role: nodejs
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
- role: curl
|
- role: curl
|
||||||
- role: fzf
|
- role: fzf
|
||||||
- role: tree
|
- role: tree
|
||||||
|
- role: jq
|
||||||
|
- role: yq
|
||||||
|
|
||||||
- role: llvm
|
- role: llvm
|
||||||
- role: nodejs
|
- role: nodejs
|
||||||
|
38
roles/jp/tasks/Darwin.yaml
Normal file
38
roles/jp/tasks/Darwin.yaml
Normal 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
|
6
roles/jp/tasks/Debian.yaml
Normal file
6
roles/jp/tasks/Debian.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
- name: install apt package
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
name: jp
|
||||||
|
state: latest
|
4
roles/jp/tasks/main.yaml
Normal file
4
roles/jp/tasks/main.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
- assert:
|
||||||
|
that: ansible_os_family != "Windows"
|
||||||
|
- include_tasks: '{{ansible_os_family}}.yaml'
|
@ -10,7 +10,7 @@
|
|||||||
latest_version: '{{latest.json.tag_name[1:]}}'
|
latest_version: '{{latest.json.tag_name[1:]}}'
|
||||||
yq_exe: '{{ansible_env.HOME}}/.local/bin/yq'
|
yq_exe: '{{ansible_env.HOME}}/.local/bin/yq'
|
||||||
|
|
||||||
- name: check if alreayd installed
|
- name: check if already installed
|
||||||
stat:
|
stat:
|
||||||
path: '{{yq_exe}}'
|
path: '{{yq_exe}}'
|
||||||
register: yq_stat
|
register: yq_stat
|
||||||
|
Loading…
x
Reference in New Issue
Block a user