--- - name: Initial one-time setup for the Act Runner, Gitea's Action runner hosts: gitrunner become: true vars: gitea_runner_version: "0.2.13" # Token has to be generated here https://git.phyllo.me/user/settings/actions/runners and paste here, like: # registration_token: "asdlkhgalsdhlgksdahklds" registration_token: "" tasks: - name: Create act runner user ansible.builtin.user: name: "act_runner" system: true shell: /bin/bash home: "/var/lib/act_runner" create_home: true state: present - name: Create /etc/act_runner directory ansible.builtin.file: path: /etc/act_runner state: directory owner: "act_runner" group: "act_runner" mode: "0755" - name: Install Act Runner ansible.builtin.get_url: url: "https://gitea.com/gitea/act_runner/releases/download/v{{ gitea_runner_version }}/act_runner-{{ gitea_runner_version }}-linux-amd64" dest: "/usr/local/bin/act_runner" mode: "0755" force: "{{ (ansible_facts['cmdline']['force'] is defined) | default(false) }}" retries: 3 delay: 5 - name: Create Act Runner configuration file ansible.builtin.copy: content: | log: level: info runner: file: "/var/lib/act_runner/.runner" capacity: 1 timeout: 3h shutdown_timeout: 0s insecure: false fetch_timeout: 5s fetch_interval: 2s github_mirror: '' labels: - "fedora-cloud-42:docker://git.phyllo.me/roots/fedora-iso-creation:42" - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-latest-full:docker://docker.gitea.com/runner-images:ubuntu-latest-full" cache: enabled: true dir: host: "" port: 0 external_server: "" container: network: "" privileged: true options: workdir_parent: valid_volumes: [] docker_host: "" force_pull: true force_rebuild: false require_docker: false docker_timeout: 0s host: workdir_parent: dest: /etc/act_runner/config.yaml owner: "act_runner" group: "act_runner" mode: "0755" backup: true - name: Check if runner is already registered ansible.builtin.stat: path: /var/lib/act_runner/.runner register: runner_registered changed_when: false - name: Register the runner with Gitea (if not already registered) ansible.builtin.command: > /usr/local/bin/act_runner register --no-interactive --config /etc/act_runner/config.yaml --instance https://git.phyllo.me --token {{ registration_token }} --name fedora-bios-0 when: not runner_registered.stat.exists changed_when: true - name: Create Act Runner service file ansible.builtin.copy: content: | [Unit] Description=Gitea Actions Runner Documentation=https://gitea.com/gitea/act_runner After=network.target [Service] ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml ExecReload=/bin/kill -s HUP $MAINPID WorkingDirectory=/var/lib/act_runner TimeoutSec=0 Restart=always RestartSec=10 [Install] WantedBy=multi-user.target dest: /etc/systemd/system/act_runner.service mode: "0755" backup: true - name: Ensure act_runner service is enabled and started ansible.builtin.systemd: name: act_runner enabled: true state: started daemon_reload: true