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:
parent
0da8cb2e02
commit
274b8cceef
11 changed files with 49 additions and 2 deletions
3
tests/integration/targets/cargo/meta/main.yml
Normal file
3
tests/integration/targets/cargo/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
dependencies:
|
||||
- setup_pkg_mgr
|
3
tests/integration/targets/django_manage/meta/main.yml
Normal file
3
tests/integration/targets/django_manage/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
dependencies:
|
||||
- setup_pkg_mgr
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
dependencies:
|
||||
- setup_pkg_mgr
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
dependencies:
|
||||
- setup_pkg_mgr
|
||||
- setup_postgresql_db
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
dependencies:
|
||||
- setup_remote_tmp_dir
|
||||
- setup_pkg_mgr
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1 +1,3 @@
|
|||
---
|
||||
dependencies:
|
||||
- setup_pkg_mgr
|
||||
|
|
19
tests/integration/targets/setup_pkg_mgr/tasks/archlinux.yml
Normal file
19
tests/integration/targets/setup_pkg_mgr/tasks/archlinux.yml
Normal 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
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
dependencies:
|
||||
- setup_pkg_mgr
|
3
tests/integration/targets/timezone/meta/main.yml
Normal file
3
tests/integration/targets/timezone/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
dependencies:
|
||||
- setup_pkg_mgr
|
Loading…
Reference in a new issue