GRM-26: fix: CI pipeline for rootless Docker runners
This commit is contained in:
@@ -11,18 +11,30 @@
|
||||
|
||||
- name: Stop gitea-runner systemd instance
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner@{{ runner_name }}"
|
||||
name: "gitea-runner-{{ runner_mode | default('docker') }}@{{ runner_name }}"
|
||||
state: stopped
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists
|
||||
|
||||
- name: Disable gitea-runner systemd instance
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner@{{ runner_name }}"
|
||||
name: "gitea-runner-{{ runner_mode | default('docker') }}@{{ runner_name }}"
|
||||
enabled: false
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists
|
||||
|
||||
- name: Stop Docker container directly
|
||||
ansible.builtin.command: "docker stop -t 30 gitea-runner-{{ runner_name }}"
|
||||
changed_when: true
|
||||
failed_when: false
|
||||
when: runner_mode | default('docker') == 'docker'
|
||||
|
||||
- name: Remove Docker container directly
|
||||
ansible.builtin.command: "docker rm -f gitea-runner-{{ runner_name }}"
|
||||
changed_when: true
|
||||
failed_when: false
|
||||
when: runner_mode | default('docker') == 'docker'
|
||||
|
||||
- name: Include deregistration
|
||||
ansible.builtin.include_role:
|
||||
name: gitea-runner
|
||||
@@ -31,7 +43,7 @@
|
||||
|
||||
- name: Remove systemd unit file (last instance)
|
||||
ansible.builtin.file:
|
||||
path: "/etc/systemd/system/gitea-runner@.service"
|
||||
path: "/etc/systemd/system/gitea-runner-{{ runner_mode | default('docker') }}@.service"
|
||||
state: absent
|
||||
when: remove_systemd_template | default(false)
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ driver:
|
||||
|
||||
platforms:
|
||||
- name: ${MOLECULE_PLATFORM_NAME:-ubuntu-2204}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-geerlingguy/docker-ubuntu2204-ansible:latest}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-ubuntu:22.04}
|
||||
command: ${MOLECULE_PLATFORM_COMMAND:-sleep infinity}
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
cgroupns_mode: host
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
pre_build_image: false
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
- name: Update apt cache
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
cache_valid_time: 0
|
||||
when: ansible_facts['os_family'] == 'Debian'
|
||||
|
||||
- name: Install python3-debian for deb822_repository module
|
||||
|
||||
@@ -4,13 +4,13 @@ driver:
|
||||
|
||||
platforms:
|
||||
- name: ${MOLECULE_PLATFORM_NAME:-ubuntu-2204}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-geerlingguy/docker-ubuntu2204-ansible:latest}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-ubuntu:22.04}
|
||||
command: ${MOLECULE_PLATFORM_COMMAND:-sleep infinity}
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
cgroupns_mode: host
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
pre_build_image: false
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
@@ -4,13 +4,13 @@ driver:
|
||||
|
||||
platforms:
|
||||
- name: ${MOLECULE_PLATFORM_NAME:-ubuntu-2204}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-geerlingguy/docker-ubuntu2204-ansible:latest}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-ubuntu:22.04}
|
||||
command: ${MOLECULE_PLATFORM_COMMAND:-sleep infinity}
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
cgroupns_mode: host
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
pre_build_image: false
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
@@ -4,13 +4,13 @@ driver:
|
||||
|
||||
platforms:
|
||||
- name: ${MOLECULE_PLATFORM_NAME:-ubuntu-2204}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-geerlingguy/docker-ubuntu2204-ansible:latest}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-ubuntu:22.04}
|
||||
command: ${MOLECULE_PLATFORM_COMMAND:-sleep infinity}
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
cgroupns_mode: host
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
pre_build_image: false
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
@@ -4,13 +4,13 @@ driver:
|
||||
|
||||
platforms:
|
||||
- name: ${MOLECULE_PLATFORM_NAME:-ubuntu-2204}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-geerlingguy/docker-ubuntu2204-ansible:latest}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-ubuntu:22.04}
|
||||
command: ${MOLECULE_PLATFORM_COMMAND:-sleep infinity}
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
cgroupns_mode: host
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
pre_build_image: false
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
@@ -4,13 +4,13 @@ driver:
|
||||
|
||||
platforms:
|
||||
- name: ${MOLECULE_PLATFORM_NAME:-ubuntu-2204}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-geerlingguy/docker-ubuntu2204-ansible:latest}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-ubuntu:22.04}
|
||||
command: ${MOLECULE_PLATFORM_COMMAND:-sleep infinity}
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
cgroupns_mode: host
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
pre_build_image: false
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
@@ -4,13 +4,13 @@ driver:
|
||||
|
||||
platforms:
|
||||
- name: ${MOLECULE_PLATFORM_NAME:-ubuntu-2204}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-geerlingguy/docker-ubuntu2204-ansible:latest}
|
||||
image: ${MOLECULE_PLATFORM_IMAGE:-ubuntu:22.04}
|
||||
command: ${MOLECULE_PLATFORM_COMMAND:-sleep infinity}
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
cgroupns_mode: host
|
||||
privileged: true
|
||||
pre_build_image: true
|
||||
pre_build_image: false
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
- gnupg
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 0
|
||||
|
||||
- name: Add Docker GPG key
|
||||
ansible.builtin.get_url:
|
||||
@@ -53,6 +54,7 @@
|
||||
- docker-compose-plugin
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 0
|
||||
|
||||
- name: Install Docker (Arch Linux)
|
||||
when:
|
||||
|
||||
@@ -44,5 +44,12 @@
|
||||
changed_when: "'already exists' not in register_output.stdout | default('')"
|
||||
timeout: 60
|
||||
|
||||
- name: Restart gitea-runner service after registration
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner-docker@{{ runner_name }}"
|
||||
state: restarted
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists | default(false) | bool
|
||||
|
||||
- name: Include service setup
|
||||
ansible.builtin.include_tasks: service.yml
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
- name: Verify runner container running (Docker mode)
|
||||
ansible.builtin.shell: |
|
||||
docker ps --filter "name=gitea-runner-{{ inventory_hostname }}" --format "{{ '{{.Status}}' }}"
|
||||
docker ps --filter "name=gitea-runner-{{ runner_name }}" --format "{{ '{{.Status}}' }}"
|
||||
register: docker_check
|
||||
changed_when: false
|
||||
when: runner_mode == 'docker'
|
||||
|
||||
@@ -24,3 +24,10 @@
|
||||
register: register_output
|
||||
changed_when: "'already exists' not in register_output.stdout | default('')"
|
||||
timeout: 60
|
||||
|
||||
- name: Restart gitea-runner service after registration
|
||||
ansible.builtin.systemd:
|
||||
name: "gitea-runner-binary@{{ runner_name }}"
|
||||
state: restarted
|
||||
daemon_reload: true
|
||||
when: systemd_available.stat.exists | default(false) | bool
|
||||
|
||||
@@ -3,6 +3,8 @@ log:
|
||||
|
||||
runner:
|
||||
file: "{{ gitea_runner_file }}"
|
||||
fetch_timeout: 50s
|
||||
fetch_interval: 2s
|
||||
|
||||
container:
|
||||
label: "{{ gitea_runner_container_label }}"
|
||||
|
||||
Reference in New Issue
Block a user