---
- name: Set common facts
  ansible.builtin.import_tasks: tasks/set-default-facts.yml

- name: Deploy {{ svc.name }}
  vars:
    svc: "{{ forgejo_svc }}"
    env: "{{ forgejo_env }}"
    compose: "{{ forgejo_compose }}"
  block:
    - name: Import prepare tasks for common service
      ansible.builtin.import_tasks: tasks/prepare-common-service.yml

    - name: Copy the template files
      ansible.builtin.copy:
        src: templates/
        dest: "{{ (service_path, 'templates') | path_join }}"
        mode: "0644"
      register: cmd_result

    - name: Set the docker force-recreate flag
      ansible.builtin.set_fact:
        docker_force_recreate: --force-recreate
      when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.

    - name: Template the custom footer
      ansible.builtin.template:
        src: footer.tmpl.j2
        dest: "{{ (service_path, 'templates', 'custom', 'footer.tmpl') | path_join }}"
        mode: "0644"
      register: cmd_result

    - name: Set the docker force-recreate flag
      ansible.builtin.set_fact:
        docker_force_recreate: --force-recreate
      when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.

    - name: Import start tasks for common service
      ansible.builtin.import_tasks: tasks/start-common-service.yml