From 4608b4723f3ae380479d6b976bb44ddbf9a2bb79 Mon Sep 17 00:00:00 2001 From: infl00p Date: Fri, 6 Oct 2023 09:50:00 +0300 Subject: [PATCH] added forgejo --- plays/update_forgejo.yml | 6 ++++++ .../services/update_forgejo/tasks/forgejo.yml | 19 +++++++++++++++++++ roles/services/update_forgejo/tasks/main.yml | 17 +++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 plays/update_forgejo.yml create mode 100644 roles/services/update_forgejo/tasks/forgejo.yml create mode 100644 roles/services/update_forgejo/tasks/main.yml diff --git a/plays/update_forgejo.yml b/plays/update_forgejo.yml new file mode 100644 index 0000000..97d9a4a --- /dev/null +++ b/plays/update_forgejo.yml @@ -0,0 +1,6 @@ +--- +- hosts: localhost + become: no + roles: + - { role: roles/services/update_forgejo } + diff --git a/roles/services/update_forgejo/tasks/forgejo.yml b/roles/services/update_forgejo/tasks/forgejo.yml new file mode 100644 index 0000000..5fc5531 --- /dev/null +++ b/roles/services/update_forgejo/tasks/forgejo.yml @@ -0,0 +1,19 @@ +--- + +- name: stop forgejo service + service: + name: forgejo + state: stopped + +- name: fetch latest archive version "{{ version }}" + get_url: + url: "https://codeberg.org/forgejo/forgejo/releases/download/v{{ version }}/forgejo-{{ version }}-linux-amd64" + dest: /usr/local/bin/forgejo + mode: '0755' + backup: yes + force: yes + +- name: start forgejo service + service: + name: forgejo + state: started diff --git a/roles/services/update_forgejo/tasks/main.yml b/roles/services/update_forgejo/tasks/main.yml new file mode 100644 index 0000000..9728eeb --- /dev/null +++ b/roles/services/update_forgejo/tasks/main.yml @@ -0,0 +1,17 @@ +--- +- name: check latest version + shell: | + curl -q -s -X 'GET' 'https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest' -H 'accept: application/json' | jq '.tag_name' | cut -d\" -f2 | tr -d v + args: + warn: false + register: latest_version + +- name: check installed version + shell: | + /usr/local/bin/forgejo -v | cut -d ' ' -f 3 + register: installed_version + +- name: Install if latest is greater than installed version + when: latest_version.stdout is version(installed_version.stdout,'>') + include: forgejo.yml + version="{{ latest_version.stdout }}"