--- - name: Push latest forgejo dump zipfile (no user input) become: true ansible.builtin.copy: src: "{{ forgejo_dump_path }}" dest: "{{ forgejo_run_dir }}/forgejo-dumps/{{ forgejo_dump_path | basename }}" owner: git group: git mode: 0640 - name: Find all forgejo dumps on the server become: true ansible.builtin.find: paths: "{{ forgejo_run_dir }}/forgejo-dumps/" register: all_forgejo_dumps - name: Find latest forgejo dump on the server ansible.builtin.set_fact: latest_forgejo_dump: "{{ all_forgejo_dumps.files | sort(attribute='mtime') | last }}" - name: Deploy repos from latest forgejo dump become: true become_user: git ansible.builtin.command: cmd: "/usr/local/bin/forgejo-backup.sh restore {{ latest_forgejo_dump.path }}" # when this dir exists, the command won't run, so we don't overwrite existing repos creates: "{{ forgejo_run_dir }}/forgejo-repositories"