ci: Factor out package installation role

pull/1254/head
Alex Willmer 9 months ago
parent a143787c02
commit e32c90a63e

@ -22,49 +22,11 @@
roles:
- role: package_manager
- role: packages
- role: sshd
- role: sshd_container
tasks:
- name: Ensure requisite apt packages are installed
apt:
name: "{{ common_packages + packages }}"
state: present
install_recommends: false
update_cache: true
when: ansible_pkg_mgr == 'apt'
- name: Ensure requisite yum packages are installed
yum:
name: "{{ common_packages + packages }}"
state: present
update_cache: true
when: ansible_pkg_mgr == 'yum'
- name: Ensure requisite dnf packages are installed
dnf:
name: "{{ common_packages + packages }}"
state: present
update_cache: true
when: ansible_pkg_mgr == 'dnf'
- name: Clean up package cache
vars:
clean_command:
apt: apt-get clean
yum: yum clean all
dnf: dnf clean all
command: "{{ clean_command[ansible_pkg_mgr] }}"
args:
warn: "{{ False if ansible_version_major_minor is version('2.10', '<=', strict=True) else omit }}"
- name: Clean up apt package lists
shell: rm -rf {{item}}/*
with_items:
- /var/cache/apt
- /var/lib/apt/lists
when: ansible_pkg_mgr == 'apt'
- name: Configure /usr/bin/python
command: alternatives --set python /usr/bin/python3.8
args:

@ -0,0 +1,14 @@
common_packages: []
packages: []
packages_clean_command:
apt: apt-get clean
dnf: dnf clean all
yum: yum clean all
packages_cleanup_directories:
apt:
- /var/cache/apt
- /var/lib/apt/lists
dnf: []
yum: []

@ -0,0 +1,35 @@
- name: Ensure requisite apt packages are installed
apt:
name: "{{ common_packages + packages }}"
state: present
install_recommends: false
update_cache: true
when:
- ansible_pkg_mgr == 'apt'
- name: Ensure requisite yum packages are installed
yum:
name: "{{ common_packages + packages }}"
state: present
update_cache: true
when:
- ansible_pkg_mgr == 'yum'
- name: Ensure requisite dnf packages are installed
dnf:
name: "{{ common_packages + packages }}"
state: present
update_cache: true
when:
- ansible_pkg_mgr == 'dnf'
- name: Clean up package cache
command:
cmd: "{{ packages_clean_command[ansible_pkg_mgr] }}"
changed_when: true
- name: Clean up package directories
shell:
rm -rf {{ item }}/*
with_items: "{{ packages_cleanup_directories }}"
changed_when: true
Loading…
Cancel
Save