Files
grm/ansible/roles/gitea-runner/tasks/docker_mode.yml
T
emil ea18793963
Post-merge Vikunja update / vikunja (push) Failing after 5s
CI / quality (push) Successful in 1m3s
CI / molecule-tests (2) (push) Successful in 6m57s
CI / molecule-tests (1) (push) Successful in 7m3s
CI / molecule-tests (0) (push) Successful in 9m17s
GRM-26: fix: CI pipeline for rootless Docker runners
2026-06-20 16:16:05 +00:00

56 lines
1.8 KiB
YAML

---
- name: Include Docker installation
ansible.builtin.include_tasks: docker.yml
- name: Ensure runner data directory exists
ansible.builtin.file:
path: "{{ gitea_runner_data_dir }}"
state: directory
mode: "0755"
- name: Create gitea_runner config file in data directory
ansible.builtin.template:
src: gitea-runner-config.yaml.j2
dest: "{{ gitea_runner_data_dir }}/config.yaml"
mode: "0644"
- name: Pull gitea_runner image
ansible.builtin.command: docker pull {{ gitea_runner_docker_image }}:{{ gitea_runner_version | regex_replace('^v', '') }}
changed_when: "'Downloaded newer image' in pull_result.stdout or 'Status: Downloaded' in pull_result.stdout"
register: pull_result
- name: Check if runner is already registered
ansible.builtin.stat:
path: "{{ gitea_runner_data_dir }}/.runner"
register: runner_registered
- name: Register runner with Gitea via Docker
ansible.builtin.command: >
docker run --rm
--entrypoint /usr/local/bin/gitea-runner
-v {{ gitea_runner_data_dir }}:/data
-w /data
{{ gitea_runner_docker_image }}:{{ gitea_runner_version | regex_replace('^v', '') }}
register
--token {{ registration_token }}
--name {{ runner_name }}
--instance {{ gitea_url }}
--labels {{ runner_labels }}
--no-interactive
when:
- not runner_registered.stat.exists
- not skip_runner_registration
register: register_output
changed_when: "'already exists' not in register_output.stdout | default('')"
timeout: 60
- name: Restart gitea-runner service after registration
ansible.builtin.systemd:
name: "gitea-runner-docker@{{ runner_name }}"
state: restarted
daemon_reload: true
when: systemd_available.stat.exists | default(false) | bool
- name: Include service setup
ansible.builtin.include_tasks: service.yml