41 lines
1.2 KiB
YAML
41 lines
1.2 KiB
YAML
---
|
|
- name: Wait for runner to appear in Gitea API
|
|
ansible.builtin.uri:
|
|
url: "{{ gitea_url }}/api/v1/admin/runners"
|
|
headers:
|
|
Authorization: "token {{ registration_token }}"
|
|
method: GET
|
|
status_code: 200
|
|
return_content: true
|
|
body_format: json
|
|
register: runners_response
|
|
until: >
|
|
runners_response.json.runners | default([]) |
|
|
selectattr('name', 'equalto', runner_name) | list | length > 0
|
|
retries: 12
|
|
delay: 10
|
|
when: gitea_url is defined and registration_token is defined
|
|
|
|
- name: Verify runner is online
|
|
ansible.builtin.uri:
|
|
url: "{{ gitea_url }}/api/v1/admin/runners"
|
|
headers:
|
|
Authorization: "token {{ registration_token }}"
|
|
method: GET
|
|
status_code: 200
|
|
return_content: true
|
|
body_format: json
|
|
register: runners_check
|
|
when: gitea_url is defined and registration_token is defined
|
|
|
|
- name: Fail if runner is not online
|
|
ansible.builtin.fail:
|
|
msg: "Runner '{{ runner_name }}' is not online in Gitea"
|
|
when:
|
|
- gitea_url is defined
|
|
- registration_token is defined
|
|
- >
|
|
runners_check.json.runners | default([]) |
|
|
selectattr('name', 'equalto', runner_name) |
|
|
selectattr('status', 'equalto', 'online') | list | length == 0
|