51 lines
1.2 KiB
YAML
51 lines
1.2 KiB
YAML
---
|
|
- name: stat tea executable
|
|
stat:
|
|
path: '{{tea_package_exe}}'
|
|
register: tea
|
|
|
|
- name: get installed version
|
|
when: tea.stat.exists
|
|
command: '{{tea_package_exe}} --version'
|
|
register: tea_version_string
|
|
|
|
- name: extract version number
|
|
when: tea.stat.exists
|
|
set_fact:
|
|
installed_version: "{{tea_version_string.stdout |
|
|
regex_search('^.*(\\d+\\.\\d+\\.\\d+).*golang.*$', '\\1') }}"
|
|
|
|
- name: get latest release json
|
|
uri:
|
|
url: https://gitea.com/api/v1/repos/gitea/tea//releases/latest
|
|
register: latest
|
|
|
|
- name: check installed version
|
|
set_fact:
|
|
install_required: >
|
|
{{not tea.stat.exists or latest.json.name != 'v' + installed_version[0]}}
|
|
asset: '{{latest.json.assets | json_query(tea_asset_query)}}'
|
|
|
|
- name: create package directory
|
|
when: install_required
|
|
become: true
|
|
file:
|
|
state: directory
|
|
path: '{{tea_package_dir}}/bin'
|
|
|
|
- name: download package
|
|
when: install_required
|
|
become: true
|
|
get_url:
|
|
url: '{{asset.browser_download_url}}'
|
|
dest: '{{tea_package_exe}}'
|
|
mode: '0755'
|
|
environment: '{{proxy_environment}}'
|
|
|
|
- name: install package
|
|
when: install_required
|
|
become: true
|
|
command:
|
|
cmd: 'stow --target /usr/local .'
|
|
chdir: '{{tea_package_dir}}'
|