--- - name: Ensure work directory exists ansible.builtin.file: path: "{{ gitea_runner_data_dir }}" state: directory mode: "0755" - name: Check if runner is already registered ansible.builtin.stat: path: "{{ gitea_runner_data_dir }}/.runner" register: runner_registered - name: Register runner with Gitea ansible.builtin.command: > "{{ gitea_runner_binary_path }}" register --token {{ registration_token }} --name {{ runner_name }} --instance {{ gitea_url }} --labels {{ runner_labels }} --no-interactive args: chdir: "{{ gitea_runner_data_dir }}" when: not runner_registered.stat.exists register: register_output changed_when: "'already exists' not in register_output.stdout | default('')"