1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Improve ArchLinux tests (#4291)

* Make sure that every test that uses package: requires setup_pkg_mgr.

* Upgrade system packages for Arch Linux.

* Re-enable java keytool tests on Arch.
This commit is contained in:
Felix Fontein 2022-02-27 13:51:26 +01:00 committed by GitHub
parent 0da8cb2e02
commit 274b8cceef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 49 additions and 2 deletions

View file

@ -0,0 +1,3 @@
---
dependencies:
- setup_pkg_mgr

View file

@ -0,0 +1,3 @@
---
dependencies:
- setup_pkg_mgr

View file

@ -0,0 +1,3 @@
---
dependencies:
- setup_pkg_mgr

View file

@ -1,3 +1,4 @@
---
dependencies:
- setup_pkg_mgr
- setup_postgresql_db

View file

@ -1,2 +1,3 @@
dependencies:
- setup_remote_tmp_dir
- setup_pkg_mgr

View file

@ -4,12 +4,10 @@
# and should not be used as examples of how to write Ansible roles #
####################################################################
- set_fact:
# TODO: re-enable Archlinux!
has_java_keytool: >-
{{
ansible_os_family not in ['Darwin', 'FreeBSD']
and not (ansible_distribution == "CentOS" and ansible_distribution_version is version("7.0", "<"))
and not (ansible_distribution == "Archlinux")
}}
- name: Include OS-specific variables

View file

@ -1 +1,3 @@
---
dependencies:
- setup_pkg_mgr

View file

@ -0,0 +1,19 @@
---
# Since Arch Linux is a rolling distribution, it regularly needs its packages upgraded, otherwise some tests might
# stop working due to conflicts during package installation. Since there is no good way to do this on container
# startup time, we use the setup_pkg_mgr setup role to do this once per CI run (hopefully). In case the Arch Linux
# tests are run outside of a container, we're using a date-based tag (see below) to avoid this running more than
# once per day.
- name: Create tag
copy:
dest: /tmp/.ansible_archlinux_sysupgrade_tag
content: |
Last ArchLinux system upgrade by integration tests was done on {{ ansible_facts.date_time.date }}.
register: archlinux_upgrade_tag
- name: Upgrade all packages
pacman:
update_cache: true
upgrade: true
when: archlinux_upgrade_tag is changed

View file

@ -16,9 +16,20 @@
cacheable: yes
when: ansible_os_family == "Suse"
- set_fact:
pkg_mgr: community.general.pacman
ansible_pkg_mgr: community.general.pacman
cacheable: yes
when: ansible_os_family == "Archlinux"
- shell:
cmd: |
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*.repo
sed -i 's%#baseurl=http://mirror.centos.org/$contentdir/$releasever/%baseurl=https://vault.centos.org/8.4.2105/%g' /etc/yum.repos.d/CentOS-Linux-*.repo
ignore_errors: true # This fails for CentOS Stream 8
when: ansible_distribution in 'CentOS' and ansible_distribution_major_version == '8'
- when: ansible_os_family == "Archlinux"
block:
- name: ArchLinux specific setup
include: archlinux.yml

View file

@ -0,0 +1,3 @@
---
dependencies:
- setup_pkg_mgr

View file

@ -0,0 +1,3 @@
---
dependencies:
- setup_pkg_mgr