Merge pull request #44 from ublue-os/tepene/42_async-ansible-tasks

fix(ansible): make long running tasks asynchronous to avoid timeouts (#42)
This commit is contained in:
Stephan Lüscher 2024-05-11 19:28:46 +02:00 committed by GitHub
commit 7f3910039b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 36 additions and 5 deletions

View file

@ -4,6 +4,10 @@
# https://ansible-lint.readthedocs.io/profiles/
profile: production
exclude_paths:
- .cache/
- collections/
# Ansible-lint does not fail on warnings from the rules or tags listed below
warn_list:
- galaxy[version-incorrect]

View file

@ -22,8 +22,20 @@
dest: "{{ forge_registry_url }}"
vars:
__regex_search: (?<=/)[^/]+(?=\.git)
register: __podman_image_info
async: 1800
poll: 0
register: __podman_image
- name: Waiting for container build to finish
ansible.builtin.async_status:
jid: "{{ __podman_image.ansible_job_id }}"
register: __job_result
until: __job_result.finished
retries: 1800
delay: 1
- name: INFO | Status from build and push
ansible.builtin.debug:
msg: "{{ __podman_image_info }}"
msg:
- "{{ __job_result.actions | to_nice_yaml(indent=2) }}"
- "{{ __job_result.image | to_nice_yaml(indent=2) }}"

View file

@ -7,13 +7,28 @@
ansible.builtin.include_role:
name: debug_forge_vars
tasks:
- name: Clone project
- name: Git clone project
ansible.builtin.git:
repo: "{{ forge_git_repository_url }}"
dest: "{{ forge_git_repository_destination }}"
version: "{{ forge_git_repository_version }}"
register: __git_clone_info
async: 180
poll: 0
register: __git_clone
- name: Waiting for git clone to finish
ansible.builtin.async_status:
jid: "{{ __git_clone.ansible_job_id }}"
register: __job_result
until: __job_result.finished
retries: 180
delay: 1
- name: INFO | Status from git clone
ansible.builtin.debug:
msg: "{{ __git_clone_info }}"
msg:
- "Source: {{ forge_git_repository_url }}"
- "Destination: {{ forge_git_repository_destination }}"
- "Version: {{ forge_git_repository_version }}"
- "Commit revision before the repository was updated: {{ __job_result.before }}"
- "Last commit revision of the repository retrieved during the update: {{ __job_result.after }}"