# tasks to complete before running roles - hosts: all tags: always become: true pre_tasks: - name: pre-run | update package cache (arch) tags: always pacman: update_cache=yes changed_when: False when: ansible_distribution == "Archlinux" - name: pre-run | update package cache (debian, etc) tags: always apt: update_cache=yes changed_when: False when: ansible_distribution in ["Debian", "Ubuntu"] # run roles - hosts: all tags: base become: true roles: - base - hosts: workstation tags: workstation become: true roles: - workstation # - hosts: server # tags: server # become: true # roles: # - server # end of run cleanup and reporting - hosts: all become: true tasks: - name: cleanup package cache (debian and ubuntu) tags: always apt: autoclean: yes changed_when: false when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"] - name: autoremove orphan packages (debian and ubuntu) tags: always apt: autoremove: yes purge: yes when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"] # - name: send completion alert # include_tasks: playbooks/send_completion_alert.yml # tags: always # when: # - task_failed is not defined # - name: send failure alert # include_tasks: playbooks/send_failure_alert.yml # tags: always # when: # - task_failed is defined # - task_failed == true