Files
ansible-role-gitea-runner/tasks/main.yaml
T
volker.raschek 199d8219db
Ansible Linter / ansible-lint (push) Successful in 3m25s
Lint Markdown files / markdown-lint (push) Successful in 13s
Release Ansible Role / Release Ansible Role (push) Successful in 3m21s
fix: execute as user gitea-runner
2026-06-11 18:40:01 +02:00

91 lines
2.9 KiB
YAML

---
- name: Include OS-specific variables
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_facts['distribution'] }}_{{ ansible_facts['architecture'] }}.yaml"
- "{{ ansible_facts['distribution'] }}.yaml"
- "{{ ansible_facts['os_family'] }}_{{ ansible_facts['architecture'] }}.yaml"
- "{{ ansible_facts['os_family'] }}.yaml"
- main.yaml
paths:
- vars
- name: Verify required variables
ansible.builtin.include_tasks: verify_vars.yaml
- name: Check Gitea instance availability
ansible.builtin.uri:
url: "{{ gitea_runner_gitea_url }}"
method: GET
validate_certs: false
timeout: 10
register: _gitea_check
failed_when: _gitea_check.status is not defined or _gitea_check.status >= 400
- name: Install gitea-runner and dependencies
when: ansible_facts['distribution'] == 'Archlinux'
block:
- name: Update package cache
community.general.pacman:
update_cache: "{{ gitea_runner_update_cache }}"
- name: Install packages
ansible.builtin.package:
name: "{{ item }}"
state: present
with_items: "{{ gitea_runner_package_names }}"
- name: Add unix user to further groups
ansible.builtin.user:
name: "{{ gitea_runner_unix_user }}"
groups: "{{ gitea_runner_unix_groups + gitea_runner_unix_extra_groups }}"
append: true
- name: Create gitea-runner config directory
ansible.builtin.file:
path: "{{ gitea_runner_config_file | dirname }}"
state: directory
mode: "0755"
- name: Template gitea-runner config file
ansible.builtin.template:
src: etc/gitea-runner/config.yaml.j2
dest: "{{ gitea_runner_config_file }}"
owner: "{{ gitea_runner_unix_user }}"
group: "{{ gitea_runner_unix_group }}"
mode: "0644"
notify: Restart gitea_runner
- name: Create gitea-runner lib directory
ansible.builtin.file:
path: "{{ gitea_runner_lib_dir }}"
owner: "{{ gitea_runner_unix_user }}"
group: "{{ gitea_runner_unix_group }}"
mode: "0755"
state: directory
- name: Check if gitea-runner is already registered
ansible.builtin.stat:
path: "{{ gitea_runner_lib_dir }}/.runner"
register: _gitea_runner_registration_file
- name: Register gitea_runner
become: true
become_user: "{{ gitea_runner_unix_user }}"
ansible.builtin.command:
cmd: "gitea-runner --config {{ gitea_runner_config_file }} register --instance {{ gitea_runner_gitea_url }} --no-interactive --token={{ gitea_runner_token }}"
chdir: "{{ gitea_runner_lib_dir }}"
no_log: true
register: _gitea_runner_register_cmd
failed_when: _gitea_runner_register_cmd.rc > 0
changed_when: _gitea_runner_register_cmd.rc == 0
when: not _gitea_runner_registration_file.stat.exists
- name: Start and enable gitea-runner service
ansible.builtin.service:
name: "{{ gitea_runner_service_name }}"
state: started
enabled: true