50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
---
|
|
- name: stat symlink
|
|
stat:
|
|
path: '{{ansible_env.HOME}}/.local/bin/WebCatalog'
|
|
register: symlink_file
|
|
|
|
- name: get releases
|
|
uri:
|
|
url: https://raw.githubusercontent.com/kbenzie/webcatalog-release-scraper/main/webcatalog-releases.json
|
|
return_content: true
|
|
register: releases_raw
|
|
|
|
- set_fact:
|
|
releases: '{{releases_raw.content | from_json}}'
|
|
- set_fact:
|
|
appimage: 'WebCatalog-{{releases[0].version}}.AppImage'
|
|
- set_fact:
|
|
filepath: '{{ansible_env.HOME}}/.local/bin/{{appimage}}'
|
|
|
|
- set_fact:
|
|
needs_installed:
|
|
'{{not symlink_file.stat.exists or symlink_file.stat.lnk_source != filepath}}'
|
|
|
|
- name: download latest version
|
|
when: needs_installed
|
|
get_url:
|
|
url: 'https://cdn-2.webcatalog.io/webcatalog/{{appimage}}'
|
|
dest: '{{ansible_env.HOME}}/.local/bin/{{appimage}}'
|
|
mode: '0755'
|
|
|
|
- name: create symlink
|
|
file:
|
|
src: '{{filepath}}'
|
|
dest: '{{ansible_env.HOME}}/.local/bin/WebCatalog'
|
|
state: link
|
|
|
|
# TODO: icon for desktop file
|
|
|
|
- name: create desktop file
|
|
template:
|
|
src: webcatalog.desktop.j2
|
|
dest: '{{ansible_env.HOME}}/.local/share/applications/webcatalog-webcatalog.desktop'
|
|
notify: install desktop menu
|
|
|
|
- name: remove old appimage
|
|
when: needs_installed and symlink_file.stat.exists
|
|
file:
|
|
path: '{{symlink_file.stat.lnk_source}}'
|
|
state: absent
|