update.yaml 4.86 KiB
---
- name: Update hosts
strategy: host_pinned
hosts:
- all:!localhost
tags:
- update
tasks:
- name: Update Debian-based hosts
when: ansible_facts.pkg_mgr == 'apt'
tags:
- debian
block:
- name: Update packages
apt:
autoclean: true
purge: true
update_cache: true
upgrade: dist
register: apt_upgrade
- name: Remove no-longer needed dependencies
apt:
autoremove: true
purge: true
- name: Update firmware
command: fwupdmgr --assume-yes update
register: fwupdmgr
changed_when: fwupdmgr.rc == 0
# yamllint disable rule:line-length
failed_when: fwupdmgr.rc not in [0, 2]
- name: Gather package facts
package_facts:
- name: Update Flatpaks
when: |-
'flatpak' in ansible_facts.packages
block:
- name: Update Flatpaks appstream
command:
cmd: flatpak update --appstream
changed_when: false
- name: Update Flatpaks
command:
cmd: flatpak update --assumeyes
register: flatpak_update
changed_when: |-
"Nothing to do" not in flatpak_update.stdout
- name: Remove unused Flatpaks
command:
cmd: flatpak uninstall --unused --assumeyes
register: flatpak_unused
changed_when: |-
"Nothing" not in flatpak_unused.stdout
- name: Set reboot needed fact
set_fact:
reboot_needed: >-
{{ apt_upgrade is changed or
fwupdmgr is changed or
flatpak_update is changed }}
- name: Update OpenWRT hosts
when: ansible_facts.pkg_mgr == 'opkg'
tags:
- openwrt