self-hosting/roles/gitea/tasks/binary.yml

48 lines
1.4 KiB
YAML

---
- name: Find latest gitea version
ansible.builtin.uri:
url: https://dl.gitea.io/gitea/version.json
register: gitea_binary
- name: Find if latest gitea version is installed
become: true
ansible.builtin.stat:
path: "{{ gitea_run_dir }}/gitea-{{ gitea_binary.json.latest.version }}"
register: latest_gitea_binary
- name: Set gitea binary architecture to amd64
ansible.builtin.set_fact:
gitea_binary_arch: amd64
when: ansible_facts['architecture'] == 'x86_64'
- name: Set gitea binary architecture to arm-6
ansible.builtin.set_fact:
gitea_binary_arch: arm-6
when: ansible_facts['architecture'] != 'x86_64'
- name: Get latest gitea binary
become: true
ansible.builtin.get_url:
url: "https://dl.gitea.io/gitea/{{ gitea_binary.json.latest.version }}/gitea-{{ gitea_binary.json.latest.version }}-linux-{{ gitea_binary_arch }}"
dest: "{{ gitea_run_dir }}/gitea-{{ gitea_binary.json.latest.version }}"
owner: git
group: git
mode: 0664
when: not latest_gitea_binary.stat.exists
notify:
- Receive gitea pgp key
- Download gitea asc file
- Verify gitea binary with gpg
- name: Verify downloaded binary
ansible.builtin.meta: flush_handlers
- name: Copy gitea binary to global location
become: true
ansible.builtin.copy:
src: "{{ gitea_run_dir }}/gitea-{{ gitea_binary.json.latest.version }}"
dest: /usr/local/bin/gitea
remote_src: true
owner: root
group: root
mode: 0755