--- - name: Set common facts ansible.builtin.import_tasks: tasks/set-default-facts.yml - name: Deploy {{ svc.name }} vars: svc: "{{ forgejo_runner_svc }}" env: "{{ forgejo_runner_env }}" compose: "{{ forgejo_runner_compose }}" block: - name: Import tasks to create service directory ansible.builtin.import_tasks: tasks/steps/create-service-directory.yml - name: Import tasks to template docker compose file ansible.builtin.import_tasks: tasks/steps/template-docker-compose.yml - name: Copy the config ansible.builtin.copy: src: config.yml dest: "{{ (service_path, 'config.yml') | path_join }}" mode: "0755" - name: Check if service.env already exists ansible.builtin.stat: path: "{{ (service_path, 'service.env') | path_join }}" register: env_file - name: Import tasks to prompt for the registration token ansible.builtin.import_tasks: tasks/prompt-registration-token.yml when: not env_file.stat.exists or force_forgejo_runner_registration | default(False) - name: Import tasks create a service.env file ansible.builtin.import_tasks: tasks/steps/template-service-env.yml - name: Import start tasks for common service ansible.builtin.import_tasks: tasks/start-common-service.yml - name: Register runner ansible.builtin.command: cmd: docker compose run --rm -it app sh -c 'forgejo-runner register --no-interactive --token ${FORGEJO_RUNNER_REGISTRATION_TOKEN} --instance ${FORGEJO_INSTANCE_URL}' chdir: "{{ service_path }}" when: not env_file.stat.exists or force_forgejo_runner_registration | default(False) changed_when: true # "when" checks enough. We are sure to change something here.