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 --no-folding --target /usr/local .'
 | 
						|
    chdir: '{{tea_package_dir}}'
 |