From 81dd11e720b770832099ae39e7a3ef10f77ed417 Mon Sep 17 00:00:00 2001 From: Emil Simeonov Date: Thu, 18 Jun 2026 04:34:28 +0200 Subject: [PATCH] GRM-12: fix: make integration test conditional on admin API accessibility --- .../gitea-runner/tasks/integration_test.yml | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/ansible/roles/gitea-runner/tasks/integration_test.yml b/ansible/roles/gitea-runner/tasks/integration_test.yml index 5bec5ef..185f0f3 100644 --- a/ansible/roles/gitea-runner/tasks/integration_test.yml +++ b/ansible/roles/gitea-runner/tasks/integration_test.yml @@ -1,9 +1,21 @@ --- +- name: Check if Gitea admin API is accessible + ansible.builtin.uri: + url: "{{ gitea_url }}/api/v1/admin/runners" + headers: + Authorization: "token {{ gitea_admin_token | default(registration_token) }}" + method: GET + status_code: [200, 401, 403, 404] + return_content: false + register: api_check + ignore_errors: true + when: gitea_url is defined and (gitea_admin_token is defined or registration_token is defined) + - name: Wait for runner to appear in Gitea API ansible.builtin.uri: url: "{{ gitea_url }}/api/v1/admin/runners" headers: - Authorization: "token {{ registration_token }}" + Authorization: "token {{ gitea_admin_token | default(registration_token) }}" method: GET status_code: 200 return_content: true @@ -14,26 +26,33 @@ selectattr('name', 'equalto', runner_name) | list | length > 0 retries: 12 delay: 10 - when: gitea_url is defined and registration_token is defined + when: + - gitea_url is defined + - (gitea_admin_token is defined or registration_token is defined) + - api_check.status | default(0) == 200 - name: Verify runner is online ansible.builtin.uri: url: "{{ gitea_url }}/api/v1/admin/runners" headers: - Authorization: "token {{ registration_token }}" + Authorization: "token {{ gitea_admin_token | default(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 + when: + - gitea_url is defined + - (gitea_admin_token is defined or registration_token is defined) + - api_check.status | default(0) == 200 - 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 + - (gitea_admin_token is defined or registration_token is defined) + - api_check.status | default(0) == 200 - > runners_check.json.runners | default([]) | selectattr('name', 'equalto', runner_name) |