--- - name: Restart Gitea Actions runner (stop, prune images, start) hosts: all become: true vars: prune_images: true tasks: - name: Include systemd availability check ansible.builtin.include_role: name: gitea_runner tasks_from: systemd_check.yml - name: Resolve runner UID ansible.builtin.include_role: name: gitea_runner tasks_from: resolve_uid.yml - name: Stop gitea-runner user service ansible.builtin.command: systemctl --user stop gitea-runner become: true become_user: "{{ gitea_runner_service_user }}" environment: XDG_RUNTIME_DIR: "/run/user/{{ gitea_runner_uid }}" when: systemd_available.stat.exists changed_when: true - name: Prune stale runner images from rootless Docker ansible.builtin.command: cmd: python3 {{ playbook_dir }}/../scripts/prune_runner_images.py become: true become_user: "{{ gitea_runner_service_user }}" environment: XDG_RUNTIME_DIR: "/run/user/{{ gitea_runner_uid }}" DOCKER_HOST: "unix:///run/user/{{ gitea_runner_uid }}/docker.sock" when: - systemd_available.stat.exists - prune_images | default(true) changed_when: true failed_when: false - name: Start gitea-runner user service ansible.builtin.command: systemctl --user start gitea-runner become: true become_user: "{{ gitea_runner_service_user }}" environment: XDG_RUNTIME_DIR: "/run/user/{{ gitea_runner_uid }}" when: systemd_available.stat.exists changed_when: true